2011-04-07 80 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

相关问题