2

この質問は同様の質問について尋ねますが、コピーするdllを手動で指定するだけで済みます。私の質問は、コピーするファイルをCMakeに手動で指示せずに、CMakeに実行可能ライブラリにリンクされているすべてのdllを単純にコピーさせる方法はありますか? 場合によっては、CMake が dll が必要かどうかについて詳しく知っていることがあります。たとえば、同じライブラリ (Boost など) の dll と静的ライブラリの両方がインストールされているシステムで、Boost に静的にリンクすることを選択した場合、dll をコピーする必要はありません。そのため、CMake は、コピーするファイルを手動で指定するよりも適切な決定を下すことができます。もう 1 つの例は、私の QT ライブラリが ICU ライブラリにリンクしていて、CMakeLists.txt を作成するとき、それについての知識がないため、CMake に ICU dll をコピーするように指示することはできないため、これは代わりに CMake で行う必要があります。人間。

OSがWindowsだとします。

4

1 に答える 1

2

BundleUtilities.cmake提供するCMakeを見てくださいfixup_bundle(...)

詳細はこちら:

http://www.cmake.org/Wiki/BundleUtilitiesExample

http://www.cmake.org/cmake/help/v2.8.8/cmake.html#module:BundleUtilities

于 2012-12-30T10:40:40.013 に答える