2011-04-07 84 views
2

我試圖編寫一個CMakeLists.txt文件,以便它生成一個Visual Studio解決方案。我有幾個外部庫,並且一些庫有用於調試&版本模式的不同導入庫。爲調試和發佈模式指定不同的庫

在Visual Studio中,我會手動選擇每種模式,並更改庫的名稱和所需的目錄。我想我需要和target_link_librariesset(CMAKE_BUILD_TYPE Release)一起比賽,但到目前爲止我還沒有任何運氣。

+1

可能的重複[鏈接不同的庫的調試和發佈版本在Cmake在Windows?](http://stackoverflow.com/questions/2209929/linking-different-libraries-for-debug-and-release-builds- in-cmake-on-windows) – 2015-11-21 11:39:04

回答

4

target_link_libraries命令支持「調試」和「優化」的關鍵字,這表明,該庫緊隨其後將被僅用於相應的生成配置:

target_link_libraries(MyTarget debug externalLib_d optimized externalLib) 

如果調試和發佈庫駐留在不同的目錄,指定的完整路徑,即:

target_link_libraries(MyTarget debug "debug_dir/externalLib_d" optimized "release_dir/externalLib") 

另見target_link_libraries command documentation

+0

謝謝!這樣可行。但是有可能確保Release和Debug模式的鏈接目錄也不同嗎?這不是強制性的,但它會很好。 – Jacob 2011-04-07 20:34:56

+0

@Jacob:我希望我能正確理解你的問題,看到更新的答案。 – sakra 2011-04-07 20:57:22

+0

謝謝,這工作! – Jacob 2011-04-07 21:32:38

相關問題