【发布时间】:2012-02-21 17:01:38
【问题描述】:
我有一个主要任务(开发一个库),我将其拆分以使其更易于管理。 基本上我有一个用于向量和矩阵的模板类、几个使用这两个类的类、使用所有这些类的主库和一个使用该库显示特征并测试它们的演示应用程序。
演示应用程序是一个 Qt/cdt 项目。 该库是一个纯 cdt 项目。 向量和矩阵类是一个 cdt 项目。 其他每个类都有自己的 cdt 项目。
现在主要是开发库,想在demo应用中看到效果。所以主要的开发周期是更改库的源并重新编译演示应用程序。
我的问题是:如何设置项目构建只需要重新构建必要的文件并相应地链接它们。
我的第一个方法是在演示应用程序中包含所有项目(包括库)的所有源文件。这有效,但没有触发库中更新的文件(所以我每次都去清理和构建所有东西)。
在此之后,我想到静态构建库,然后将其链接到源文件,同时引用项目。这在正确的位置触发了重新编译,但似乎新的二进制文件没有链接到可执行文件中。
基本上问题是:我应该如何安排所有这些文件以具有清晰的布局(不是一个项目中的所有内容),必要时构建正确的内容(而不是所有内容)并将它们链接到可执行文件中(以防万一变化)。
旁注项目引用的另一个问题是,模板类是在他们的项目中编译的,这会导致分散注意力的错误消息。
编辑为了更好地理解目录布局:
eclipse_workspace/
demo_application/
.cproject
.project
main.cpp
somewidget.h
somewidget.cpp
demo_application.pro
...
main_library/
.cproject
.project
class1_header.h
class1_implementation.cpp
class2_header.h
class2_implementation.cpp
...
.../
vector_matrix/
.cproject
.project
vector.h
vector.cpp
matrix.h
matrix.cpp
...
每个项目都依赖于它下面的项目。
【问题讨论】:
标签: eclipse qt compilation makefile eclipse-cdt