man*_*ans 9 c c++ conditional-compilation visual-studio
我知道我可以在*.h文件中执行此操作:
#ifdef _DEBUG
#pragma comment(lib, "libtiffd.lib")
#else
#pragma comment(lib, "libtiff.lib")
#endif
Run Code Online (Sandbox Code Playgroud)
但我想要一种方法,我可以做这样的事情:
#ifdef V2.4.6
#ifdef _DEBUG
#pragma comment(lib, "opencv_calib3d246d.lib")
#else
#pragma comment(lib, "opencv_calib3d246.lib")
#endif
#else
#ifdef _DEBUG
#pragma comment(lib, "opencv_calib3d249d.lib")
#else
#pragma comment(lib, "opencv_calib3d249.lib")
#endif
#endif
Run Code Online (Sandbox Code Playgroud)
和V2.4.6是一个环境变量.我可以这样做吗?
我不想在Visual Studio或代码中定义V2.4.6,因为它在不同的系统上会有所不同.
我的测试:创建环境变量MY_VERSION = V2_4_6.启动VS,在项目属性,C++,预处理器,预处理器定义中添加$(MY_VERSION).这个程序:
#ifdef V2_4_6
cout << "OK" << endl;
#else
cout << "??" << endl;
#endif
Run Code Online (Sandbox Code Playgroud)
打印"确定".退出Visual Studio,将MY_VERSION值更改为其他值或将其删除.启动VS,重建程序.现在打印"??".
请注意,在更改变量值之后,必须重新启动Visual Studio(因为环境变量不会动态刷新),并使Rebuild All.
| 归档时间: |
|
| 查看次数: |
3266 次 |
| 最近记录: |