This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: compile errors from gcc


D Macean wrote:
It has always been a mystery to me where the header files come from
Maybe this is a mystery for many GCC users, at least "how to get GCC to tell
where it will search the headers as default" is a question which is hard to answer....


The somehow-known "-print-search-dirs" GCC option only shows the "programs"
(cc1*, collect2, as, ld etc) and libraries search paths, but the clue here is "which
component of GCC would need the headers?" Of course it is the "C preprocessor"
aka "cpp", not "gcc" or "g++" in C++ case. So one should experiment with the 'cpp'
command ! The obvious 'cpp -print-search-dirs' however is a disappointment but
the quite common '-v' should give a better result, but stopping during its run and then
waiting some input from the keyboard (stdin) :-( A Ctrl-C helps...


Nowadays the "real cpp" is moved into those 'cc1' and 'cc1plus' programs and if
one tries them directly, also they should tell those headers search paths with the
'-v' option... And will stop in their output.


When only that 'cpp' is available, it could be expected that there is some "standard"
way to see the headers search paths with it... But surprisingly there isn't :-(


In old GCCs giving commands to the preprocessor via the '-Wp,<command>' was
the way and a :

gcc -Wp,-v

worked with C and a :

gcc -Wp,-v,-lang-c++

worked with C++ -- to give those headers search paths without really "compiling"
anything... Nowadays when knowing that 'cc1plus' will also be the "preprocessor"
with C++, one can try something like :


`gcc -print-prog-name=cc1plus` -v

in order to get the 'cc1plus' associated with the 'gcc' (whereever it then is) to be run
with that needed '-v' option and then it telling the C++ and C headers search paths...


Complicated, could someone say :-( These things could really be easier...

Of course during a real compile with 'gcc' or 'g++' using a '-v' will give its verbose
output, including the headers search paths but something similar with the :


gcc -print-search-dirs

option could be expected also for the headers and the :

cpp -print-search-dirs

could be the chosen command for the headers....



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]