相关疑难解决方法(0)

是否可以向C库中的所有符号添加C++命名空间?

我正在修改一个大型C++项目,它在其主要标题之一中定义了一个枚举FooBar.这个枚举随处可见,遗憾的是没有命名空间.

从那个项目开始,我想使用一个C库,遗憾的是,它还在同一个全局命名空间中定义了一个枚举FooBar.

我无法更改库实现,并且很难在C++项目中重命名或命名空间,因为它遍布整个地方.

理想情况下,我会为来自C库的所有符号添加命名空间.我尝试过类似的东西:

namespace c_library_foo {
#include <c_library_foo.h>
}

...
c_library_foo::c_library_function()
...
Run Code Online (Sandbox Code Playgroud)

就编译而言,它工作正常,但当然链接器无法解析库中的符号,因为命名空间不在实现中.

c c++ namespaces

5
推荐指数
2
解决办法
1146
查看次数

标签 统计

c ×1

c++ ×1

namespaces ×1