一部のライブラリを静的にリンクし、他のライブラリを動的にリンクするように CMake に指示するにはどうすればよいですか?
glic を除くすべての依存ライブラリに静的にリンクされた C++ exe をコンパイルしたい
ありがとう
ライブラリに対する CMake のアプローチは、まず でそれらを見つけてからfind_library
、 で結果を使用することですtarget_link_libraries
。
静的ライブラリまたは動的ライブラリのどちらを使用するかは、find_library
呼び出し中に選択されます。
どのバージョンが使用されているか気にしない場合は、電話してくださいfind_library(MYLIB mylib)
静的ライブラリが必要な場合は、使用しますfind_library(MYLIB libmylib.a)
(これは Linux 用です。Windows では .lib を検索します)。
動的ライブラリが必要な場合は、使用しますfind_library(MYLIB libmylib.so)
次に、ライブラリが見つかったかどうかをテストし、次のコマンドif (MYLIB)
でターゲットにリンクします。target_link_libraries(mytarget ${MYLIB})