【发布时间】:2020-12-10 07:19:27
【问题描述】:
我有两个版本的第三方 C++ 库(lib.so 和头文件) 在一个版本中,所有类/枚举/结构都在命名空间“A”中 在另一个版本中,它们位于命名空间“B”中 两个版本的标头和 lib.so 名称相同
我怎样才能拥有相同的代码库,以便我可以同时支持这两个版本。像这样的
if (myVersion == "1.0") {
/* pick all the symbols from namespace "A"*/
} else {
/* pick all the symbols from namespace "B"*/
}
【问题讨论】:
-
在运行时(在一个可执行文件中)或编译时支持这两个版本?
标签: c++ dll namespaces shared-libraries version