This question詢問有關類似的問題,但只需要手動指定要複製的dll。我的問題是:是否有一種方法可以讓CMake複製鏈接到可執行庫的所有dll,而無需手動告訴CMake要複製哪些文件?有時候CMake更瞭解dll是否需要。例如,在安裝了相同庫(例如Boost)的dll和靜態庫的系統中,我們選擇靜態鏈接到Boost,那麼我們不需要複製dll。所以CMake可以做出比手動指定要複製的文件更好的決定。另一個例子是,我的QT庫鏈接到ICU庫,並且在編寫CMakeLists.txt時,我不知道這一點,所以我不能告訴CMake複製ICU dll,所以這應該由CMake完成,而不是人類。複製可執行文件鏈接到可執行文件目錄的所有dll
假設操作系統是Windows。
我看到一個很大的問題:你可以不知道在編譯時所有必需的dll。延遲加載的dll或插件(使用自己的依賴dll)在運行時「發現」... –