【发布时间】:2012-04-10 12:50:22
【问题描述】:
按照我的项目结构:
/myproject
CMakeLists.txt (containing "add_subdirectory" and "include_directories" ..)
/src
/lib1
CMakeLists.txt (containing "add_library(lib1 .. )" )
..
/lib2
idem as lib1 ..
/mains
/common
=>config.cpp<=
=>gui.cpp<=
/main1
CMakeLists.txt
main1.cpp
/main2
CMakeLists.txt
main2.cpp
/data
/images_and_different_stuff
/conf
params.cfg
/bin
(output executables)
/release
(cmake build_files)
我的问题是关于我放在/common 中的配置类的链接。这些类读取 CLI 或配置文件 params.cfg 并初始化 main1.cpp 和 main2.cpp 和 main3.cpp 中存在的 mains 对象 ...(所有 exe 的一个配置文件)
现在我有我的/main1's CMakeLists.txt:set(main1_source main1.cpp ../common/config.cpp ..)。所以通用代码是为每个exe重新编译。做这个的最好方式是什么 ?从公共文件制作一个静态库?
【问题讨论】:
-
我会做一个静态库以由两个应用程序链接,但如果您要发布应用程序并使其可安装,那么将公共库设为动态可能会更好?
标签: c++ coding-style cmake configuration-files