use*_*514 2 c++ linux compiler-errors
我正在使用Linux并使用第三方C和一堆第三方C++代码,而我正在编写我的C++代码而无法编译,因为编译器会抱怨两次:
错误:相互矛盾的decalarations XXXX(我的变量名称)错误:XXXX有一个先前的decalratoin
XXXX是第三方库的两个库中的两个不同枚举集中的枚举成员.
有不止一个案例有类似的问题.
您应该在单独的命名空间中包含C库头.
namespace foo {
#include <foo.h>
}
Run Code Online (Sandbox Code Playgroud)
这样,因为外部C代码不使用命名空间,程序仍然会正确链接,但名称将(在C++级别)不再与您的其他C++库冲突.
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |