1

私のプロジェクトの構造に従ってください:

/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ごとに再コンパイルされます。これを行う最善の方法は何ですか? 共通ファイルから静的ライブラリを作成しますか?

4

1 に答える 1

0

これを行う最善の方法は何ですか? 共通ファイルから静的ライブラリを作成しますか?

丁度。または、インストールの合計サイズを削減したい場合は、共有ライブラリを使用してください。

于 2012-04-10T16:22:04.340 に答える