I have two c++ projects in Eclipse CDT main and shared. In shared i have a header called calc.h. I want to use this header in main, so i did the following:
#include "calc.h
to the relevant files in main
properties -> Project references
i checked of shared
I hoped this would work, but I get a fatal error: calc.h: No such file or directory
when compiling, so the project reference somehow doesn't work.
I can get it to work by manually adding shared's source folder in main's properties->C/C++ Build->Setting->GCC C++Compiler->Includes
, but my i have a bad feeling that this will become cumbersome on larger projects more complex dependencies. I'll therefore hoped that Eclipse could handle this via project references.
Am I missing something or is manually the only way?
Select C/C++ General -> Path and Symbols. Select Includes tab. In Languages list, select 'GNU C' or whatever C compiler tool chain you use. Press 'Add...' button and add the directory for the include files.
In C language, header files contain the set of predefined standard library functions. You request to use a header file in your program by including it with the C preprocessing directive “#include”. All the header file have a '. h' an extension.
You make the declarations in a header file, then use the #include directive in every . cpp file or other header file that requires that declaration. The #include directive inserts a copy of the header file directly into the . cpp file prior to compilation.
You are right, that is the way to do it!
I use Eclipse CDT on large projects, but I don't use the Eclipse compiler settings. There are some drawbacks to using the CDT compiler's settings:
I use CMake to manage my Eclipse projects. When I start a new project, I do the following steps:
cmake -G "Eclipse CDT41. Unix Makefiles"
CMake is THE compiler configuration tool to manage projects... If you don't know this I encourage you to discover it.
Cheers!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With