1
我的項目的結構如下:CMake和編碼風格爲常見的配置代碼
/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重新編譯的。做這個的最好方式是什麼 ?從常用文件中創建一個靜態庫?
我會做一個靜態庫,由兩個應用程序鏈接,但如果你將發佈應用程序,並使它們可安裝,那麼也許它會更好地使公共庫動態? – 2012-04-10 12:55:09