DMa*_*Man 6 c c++ c-preprocessor
我有两个库,不幸的是它们定义了两个相同的预处理器定义(我需要使用它):
lib1.h
#define MYINT 1
Run Code Online (Sandbox Code Playgroud)
lib2.h
#define MYINT 2
Run Code Online (Sandbox Code Playgroud)
在我的程序中,我需要使用它们:
#include <Lib1.h>
#include <lib2.h>
...
int myint = MYINT;
Run Code Online (Sandbox Code Playgroud)
在这里我有错误,MYINT无法解决.
当我无法修改lib文件时,如何解决这个问题?
您可以#undef MYINT在之前将标头包含为变通方法.
#undef MYINT
#include <Lib1.h>
const int myint_lib1 = MYINT; // 1
#undef MYINT
#include <lib2.h>
const int myint_lib2 = MYINT; // 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |