开发游戏引擎。我使用 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
只是启用/禁用断言,但我看不到另一种方法。
答案 0 :(得分:1)
在Visual Studio中执行此操作的正确方法是更改Linker > Input > Additional Dependencies
下的项目配置设置。
在调试和发布配置中添加Library$(ConfigurationName).lib
之类的内容。
如果您需要便携式解决方案(例如,您不必共享项目文件),请考虑使用CMake为您生成解决方案和配置。
至于NDEBUG
选项 - 只要windows是您唯一的目标平台,它就是有效的。