遵循我的项目结构:
/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中存在的主要对象...(所有exes的一个配置文件)
现在我的/main1's CMakeLists.txt
:set(main1_source main1.cpp ../common/config.cpp ..)
。所以公共代码是为每个exe重新编译的。做这个的最好方式是什么 ?从公共文件创建一个静态库?
答案 0 :(得分:0)
最好的方法是什么?从公共文件创建一个静态库?
完全。如果您想减少总安装量,请使用共享库。