CMakeでオープンソースプロジェクトをビルドすると(私の場合はレモングラフライブラリでした)、-DBUILD_SHARED_LIBS=1
:CMakeエラー:共有ライブラリのターゲットにLIBRARY DESTINATIONが指定されていないターゲット
TARGETS given no LIBRARY DESTINATION for shared library target
このエラーはどこから発生し、どのように修正しますか?
CMakeでオープンソースプロジェクトをビルドすると(私の場合はレモングラフライブラリでした)、-DBUILD_SHARED_LIBS=1
:CMakeエラー:共有ライブラリのターゲットにLIBRARY DESTINATIONが指定されていないターゲット
TARGETS given no LIBRARY DESTINATION for shared library target
このエラーはどこから発生し、どのように修正しますか?
私のCMakeLists.txt
に、私のINSTALLコマンドにLIBRARYパラメータがありませんでした。これに
INSTALL(
TARGETS lemon
ARCHIVE DESTINATION lib
COMPONENT library
)
:このから変更
INSTALL(
TARGETS lemon
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib # <-- Add this line
COMPONENT library
)
は私の問題を修正しました。
私はこの...あなたは共有ライブラリを作成するときにこの問題が発生したもう一つの理由は、
add_library($ {NAME} SHARED源)
その後、cmakeのは、Windowsプラットフォームにインストールするコマンドに到達するとき、それを得ましたこれらのエラーが表示されたら解決策はLIBRARYの代わりにRUNTIMEを使用することです。
if(WIN32)
install(TARGETS ${NAME}
RUNTIME DESTINATION path)
else()
install(TARGETS ${NAME}
LIBRARY DESTINATION path)
endif()
「LIBRARY」ではなく「RUNTIME」を意味すると思います。 –
右に修正しました。 –
あなたの例の 'path'の2つの使用法は異なっていますか?そうでない場合は と同じ効果を達成することができます 'install(TARGETS $ {NAME} RUNTIME DESTINATIONパス ライブラリ宛先パス )' – Unapiedra