2016-04-29 8 views
1

解決策を構築する際に、dllをフォルダにコピーする必要があります。 cmakeのの構造は次のように:dllはcmakeを使ってコピーしますか?

D:/src/cmakeLists.txt 
    D:/target/runtime/bin 
    D:/repos/stable/compiler/xyz.dll 

だから、私は ":/ターゲット/ランタイム/ binにD" にxyz.dllをコピーします。私はcmakeで次のようにしました:

add_custom_command(TARGET performance POST_BUILD   
COMMAND ${CMAKE_COMMAND} -E copy_if_different 
    "${PROJECT_SOURCE_DIR}/libs/xyz.dll" 
    $<TARGET_FILE_DIR:performance>) 

しかし、それはdllをコピーしませんでした。だから、私はそれを達成する方法を提案します。私はcmakeにあまり慣れていません。そう、提案してください。

+0

のようなものを試してみて、それがあると、他のプロジェクトにリンク変更のdllを残します。そこに 'find_library'を使います。 – usr1234567

+0

'make VERBOSE = 1'を実行し、' copy_if_different ... '行を探してみてください。それはあなたが期待している場所にコピーしますか?また、あなたのターゲット 'performance'が最新のものであればコピーしないことに注意してください。 –

答えて

0

私はその目的のためにconfigure_file()コマンドを使用します。

configure_file("${PROJECT_SOURCE_DIR}/libs/xyz.dll" <TARGET_FILE_DIR:performance> COPYONLY) 
関連する問題