我花了很多时间思考如何为我的Qt C ++项目组织一个良好的模块化结构。不幸的是,我没有找到一个关于如何做正确的完整示例(我错过了什么?),所以我正在寻找建议。到目前为止,我提出了以下假设:
所以我想要的项目结构如下:
|project_root
|src
src.pro (TEMPLATE = subdirs)
|apps
apps.pro (TEMPLATE = subdirs)
|my_app
my_app.pro (TEMPLATE = app)
main.cpp
...
|modules
modules.pro (TEMPLATE = subdirs)
|my_module
my_module.pro (TEMPLATE = ???)
|tests
tests.pro (TEMPLATE = subdirs)
|MyClass1Test
MyClass1Test.pro (TEMPLATE = app)
tst_myclass1test.cpp
|MyClass2Test
MyClass2Test.pro (TEMPLATE = app)
tst_myclass2test.cpp
MyClass1.h
MyClass1.cpp
MyClass2.h
MyClass2.cpp
我的第一个问题是 - 这个结构在Qt Creator的逻辑上是否很好?我做错了什么?
我的第二个问题是关于my_module.pro的实现。我应该在这里使用哪个模板?我正在玩四种类型的项目模板: subdirs,lib,aux ,我无法像上面那样组织我的模块结构(这就是我寻找逻辑错误的原因) 。有一些原因:
TEMPLATE = subdirs
,Qt Creator无法识别其中的任何文件(MyClass1.h,MyClass1.cpp,...来自项目结构的消失器),我无法构建不再是图书馆TEMPLATE = lib
或TEMPLATE = aux
,那么我无法在此文件夹中创建测试子项目所以我的第三个问题是:如何以良好的方式组织我的项目以克服这些问题?