根据项目配置链接库

时间:2016-01-11 11:49:07

标签: c++ linker

开发游戏引擎。我使用 Visual Studio 2012 ,但我计划很快迁移到2015社区。 我使用专用的物理引擎(NVIDIA PhysX)。我使用#pragma

将其库链接到我的头文件中
#pragma comment(lib, "libraryDEBUG.lib") // Example

PhysX API附带了针对调试发布配置的不同库版本。所以,如果我想编译我的引擎的发布版本,我必须手动将上面的代码更改为:

#pragma comment(lib, "libraryRELEASE.lib")

我想自动化这个过程。这是我到目前为止所发现的:

#ifndef NDEBUG
    #pragma comment(lib, "libraryRELEASE.lib")
#else
    #pragma comment(lib, "libraryDEBUG.lib") 
#endif 

这是执行此操作的方式吗?我知道NDEBUG只是启用/禁用断言,但我看不到另一种方法。

1 个答案:

答案 0 :(得分:1)

在Visual Studio中执行此操作的正确方法是更改​​Linker > Input > Additional Dependencies下的项目配置设置。

在调试和发布配置中添加Library$(ConfigurationName).lib之类的内容。

如果您需要便携式解决方案(例如,您不必共享项目文件),请考虑使用CMake为您生成解决方案和配置。

至于NDEBUG选项 - 只要windows是您唯一的目标平台,它就是有效的。