【发布时间】:2012-06-13 01:54:32
【问题描述】:
我正在尝试建立一组 Qt Creator 项目,并在它们之间共享几个自定义库。所有这些都使用 C++11 和 Boost,并在 Git 存储库中进行管理。
目前我正在使用 CMake 和符号链接。所以现有的目录结构大致如下:
projects/
libraryOne/
include/
libraryOne/ ; Parent in -I paths, then #include "libraryOne/foo.h"
src/
libraryTwo/
include/
libraryTwo/
src/
libraryOne/ ; symbolic link
libraryThree/
include/
libraryThree/
src/
libraryTwo/ ; symbolic link
applicationOne/
CMakeLists.txt
libraryOne/ ; symbolic link
libraryTwo/ ; symbolic link
libraryThree/ ; symbolic link
build/
applicationTwo/
CMakeLists.txt
libraryOne/ ; symbolic link
libraryTwo/ ; symbolic link
libraryThree/ ; symbolic link
build/
applicationThree/
CMakeLists.txt
libraryOne/ ; symbolic link
libraryTwo/ ; symbolic link
libraryThree/ ; symbolic link
build/
要构建一个给定的应用程序,我进入该应用程序的build/ 子目录并运行cmake ..,这样它将从CMakeLists.txt 生成makefile(因此它将把所有中介和构建产品放在build/ 下)。然后我运行make。
这就是这种特殊设置的演变方式,而且相当笨拙。我想删除 CMake 依赖项,并使其对拥有 Qt Creator 的人来说变得微不足道,git clone 我的个人源存储库,一个或多个应用程序,加载 .pro 文件,然后按 Build 并让它工作。
其他愿望:
- 无需创建符号链接
- 应该可以在 GUI 中添加和删除文件,而无需编辑生成文件
- 将应用程序加载到编辑器中应该使库也可以编辑,并且应该自动处理构建依赖项
- 在调试模式下,您应该能够在任何库中设置断点,并且环境可以在其上停止
- 将目标文件和可执行文件放在不是源代码子目录的目录中
我想知道是否有类似这样的“干净”示例...在 Qt Creator 世界中是否有任何好的示例可以效仿?雄心勃勃地期望.pro 文件能够跨平台自动处理这种事情?
【问题讨论】:
标签: qt boost c++11 static-libraries qt-creator