我有这两个命名空间,每个都包含一个同名的函数,比如
namespace group1 {
void add(int arg) {
}
}
namespace group2 {
void add(bool arg) {
}
}
我在带有声明的标题中指定了这一点
#ifdef __cplusplus
extern "C" {
#endif
// My namespaces and functions prototypes here
#ifdef __cplusplus
}
#endif
我正在尝试使用 GCC 将它们导出到 DLL 中。我收到有关它们之间冲突的警告,因为它们具有相同的名称,然后在链接时出错。我认为该名称也基于参数在目标文件中被破坏。我不知道链接器是否也关心命名空间。我怎样才能使这项工作?谢谢。