有多种方法可以在 C++ 中公开命名空间的编译时常量字符串。
我有一堆这些我想通过 SWIG 在 C++ 和 C# 之间共享,以便我可以在 C++ 中像这样引用它们:
Foo::Bar::SomeConstant
在 C# 中就像这样:
Foo.Bar.SomeConstant
我真的不在乎 C++ 方面是否是const char*
or std::string
,但我确实需要命名空间以避免冲突。
我宁愿把它放在头文件中:
namespace Foo
{
namespace Bar
{
const char* const SomeConstant = "hello world";
}
}
但我似乎无法让 C# 方面使用 SWIG 打球。实现这一目标的最佳方法是什么?