【问题标题】:eclipse CDT: rebuilding a dependent projecteclipse CDT:重建依赖项目
【发布时间】:2011-10-12 23:15:36
【问题描述】:

我正在开发一个在 linux 上运行 eclipse Indigo + CDT 的 C++ 项目

它由一个库项目和一个包含该库单元测试的项目组成。
显然,第二个项目依赖于第一个。
两个项目都使用外部构建器

但是当我修改第一个项目的标题时,它不会重新构建测试项目。而且我做不到......它只会重新链接第二个项目,即使标题包含在测试项目中。这很烦人,因为我在处理库时经常有工作构建,然后在某些时候我进行了完全重建,我看到了很多错误,这些错误是我 30 分钟前所做的!

CDT 全局构建控制台的示例输出:

**** Build of configuration Debug for project libxxx ****

make -j all 
Building file: ../foo.cpp
Invoking: GCC C++ Compiler
ccache g++ -I"/home/foke/workspaces/cpp/libxxx/include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"foo.d" -MT"foo.d" -o "foo.o" "../foo.cpp"
Finished building: ../foo.cpp

Building target: libxxx.a
Invoking: GCC Archiver
ar -r  "libxxx.a"  ./foo.o  ./src/yyy.o  ./src/detail/zzz.o   
ar: creating libxxx.a
Finished building target: libxxx.a


**** Build Finished ****

**** Build of configuration Debug for project libxxx_tests ****

make -k -j all 
Building target: libxxx_tests
Invoking: Cross G++ Linker
g++ -L"/home/foke/workspaces/cpp/libxxx/Debug" -o "libxxx_tests"  ./main.o ./aaa.o  ./tests/bbb.o ./tests/ccc.o ./tests/ddd.o   -lboost_unit_test_framework -lxxx
Finished building target: libxxx_tests


**** Build Finished ****

【问题讨论】:

    标签: c++ eclipse build build-process eclipse-cdt


    【解决方案1】:

    如果您习惯了最新版本的 MS Visual Studio,那么您应该在办公桌上腾出一个空间并用一个巨大的“X”标记它——这不可避免地会让您的拳头甚至头部感到沮丧使用 eclipse/CDT 时。

    Eclipse 有它自己的依赖机制,它几乎什么都不做,但幸运的是,CDT 模块有它自己的依赖机制,它试图做你想做的事。要设置项目依赖项,请转到:

    Project-->Properties-->C/C++ General-->Paths and Symbols-->References
    

    因此,在您的示例中,您将转到“libxxx_tests”的项目属性并选择“libxxx.a”作为依赖项。

    请注意,您还可以使用此页面来设置库顺序,这可能是一个重要的步骤,具体取决于您项目的复杂程度。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 2010-12-14
    • 2011-01-08
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    相关资源
    最近更新 更多