在项目开发中,如果要适应不同的平台,需要将项目在不同的环境下编译,如x64/x86、debug/release,如果涉及到外部依赖库,需要重新配置属性,加载不同环境下的依赖库,此时,可以利用宏及条件编译,自动判断当前的编译环境,以便自动选择需要加载的依赖库或进行不同的操作;
几个宏定义及解释如下:
宏 | 解释 |
---|---|
_M_IX86 | Win32 |
_M_X64 | x64 |
_DEBUG | debug |
在代码中可使用条件编译进行判断,然后加载不同的依赖库
#ifdef _M_IX86 //Win32平台
#ifdef _DEBUG //debug模式
#pragma comment(lib,".\\lib\\xxx32d.lib")
#else //release模式
#pragma comment(lib,".\\lib\\xxx32.lib")
#endif
#else //x64平台
#pragma comment(lib,".\\lib\\xxx64.lib")
#endif