私のプロジェクトの構造に従ってください:
/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 の両方に存在するメイン オブジェクトを初期化します ... (すべての exe に対して 1 つの構成ファイル) 今のところ、 my /main1's CMakeLists.txt
:にありset(main1_source main1.cpp ../common/config.cpp ..)
ます。したがって、共通コードはexeごとに再コンパイルされます。これを行う最善の方法は何ですか? 共通ファイルから静的ライブラリを作成しますか?