階層構造になったcmakeプロジェクトのコンパイルにはadd_subdirectory
こんな感じのプロジェクトがあったときに
- AAA --- bbb.cpp
|
|- CMakeLists.txt (1)
|
|- CCC --- ddd.cpp
|
|- CMakeLists.txt (2)
ddd.cppをコンパイルして作ったライブラリファイルをbbb.cppにリンクして使いたい場合は、(1)の中に以下のように書いてやるとうまくいく。
CMakeLists.txt(1)
include_directories(CCC)
add_subdirectory(CCC)
こうしておくと、CCC内に出来る予定のライブラリファイルをリンクしようとするときに、後のtarget_link_libraryでライブラリが生成されるまで待ってくれる。
※ link_directoryとかを使うとCCCディレクトリ内のコンパイルが終わる前にリンクしようとしたりしてハマって不幸になるので注意
Author And Source
この問題について(階層構造になったcmakeプロジェクトのコンパイルにはadd_subdirectory), 我々は、より多くの情報をここで見つけました https://qiita.com/kotarotakada/items/c4548b655425ff05ec66著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .