我正在尝试建立一组 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 ..
它,它将从中生成 makefile CMakeLists.txt
(因此它将所有中介和构建产品放在下面build/
)。然后我跑make
。
这就是这种特殊设置的演变方式,而且相当笨拙。我想删除 CMake 依赖项,并使拥有 Qt Creator 的人对git clone
我的个人源存储库、一个或多个应用程序、加载 .pro 文件、然后按 Build 并让它工作变得微不足道。
其他愿望:
- 无需创建符号链接
- 在 GUI 中添加和删除文件应该是可行的,无需编辑生成文件
- 将应用程序加载到编辑器中应该使库也可以编辑,并且应该自动处理构建依赖项
- 在调试模式下,您应该能够在任何库中设置断点,并且环境可以在其上停止
- 将目标文件和可执行文件放在不是源代码子目录的目录中
我想知道是否有这样的“干净”示例……在 Qt Creator 世界中是否有任何好的示例可以遵循?过于雄心勃勃地期望.pro
文件能够跨平台自动处理这种事情?