I\'m using eclipse for the first time. I\'m a seasoned VisualStudio user, so I\'m trying to find similar functionality in eclipse. I have two projects, A and B. Project A sp
You go into Project Properties of Project B, select Project References and make it reference (depend) on Project A.
Edit, appears to be a known bug
One can work around this problem by using the touch
command.
In Eclipse, as part of C/C++ Build/Settings is the tab 'Build Steps'. In the pre-build steps command line, enter touch filename
.
filename
is any file in your application. This could be the file with main()
. This could be a special file just for this workaround, touchdummy.c
, which can be a tiny file, which compiles quickly.
When the application builds, even if you didn't change any sources, the touch
command causes make to rebuild the application. If the library was rebuilt, then the application gets rebuilt with the new library.
One can read about how touch
affects the date/time of the file here.
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/touch.html
Edit: The exact command in Eclipse would be touch ${ProjDirPath}/src/main.c
Edit: This command should work, but it appears that if the 'main' project did not change, the pre-build step is not executed. Also the touch
command causes eclipse to prompt to reload the file it touched. A large annoyance.
Try the below settings:
By default at least with QNX C++ projects, it WILL NOT check for changes in other projects. Right click on the project, and expand "check dependencies on/off"->"check user headers only" It seems to work, roughly... It appears to do a makedepends on the code, and adds *.d files to the output folder which are simply depends file that list the header files. Note: these do not appear to get regenerated, and get out of date - I do not know how to regenerate them.
Eclipse projects depend on each other by virtue of the checkbox in the project's properties (dependent projects?) which is how Eclipse decides which to build. You can set this yourself, but it's usually set when you change your Java build path.