My understanding is that whoever wrote a program wrote the help section explaining what each argument you can pass to it does, if I type g++ --help
I get a write up showing lots of options "in my case I am looking at /usr/bin/arm-none-eabi-g++ --help
" but they both look pretty similar
I have output generated by CMake that I was trying to step through and understand, sometimes paths are included with the -I and sometimes -isystem
/usr/bin/arm-none-eabi-g++ \
"-I${PICO_SDK_PATH}/src/rp2_common/pico_atomic/include" \
-isystem "${PICO_SDK_PATH}/src/common/pico_stdlib_headers/include" \
is there any difference?
why can I not see ether -I
or -system
or -D
in the --help
wright up?
Near the top of the --help
reads
--target-help Display target specific command line options (including assembler and linker options).
--help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...].
I cannot understand how to open and view this --help=
sub help to see if it is explained in sub category's
I am actually not sure why the
--help
text does not have the description of these keys. I can only guess that they are so ancient and well-known that the person who wrote the list of options for--help
did not think they need to be included? One would expect them to be in a main--help
or--help=common
sections but alas.But they are included in a full documentation: https://gcc.gnu.org/onlinedocs/
From the full list you can go to a more specific ones and for example difference between
-I
and-isystem
is described here: https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/Directory-Options.html