我有一个库Lib
和一个具有以下文件层次结构的可执行文件App
:
Lib/
- external/
- pugixml/
- pugixml.hpp -> namespace ``pugi`` and header guard ``LIBA_PUGIXML_HPP``
- pugixml.cpp
App/
- external/
- pugixml/
- pugixml.hpp -> namespace ``pugi`` and header guard ``APP_PUGIXML_HPP``
- pugixml.cpp
App
和Lib
都使用外部库pugixml(可能是不同的版本)。它们直接包含在项目中的文件,而pugixml基本上不再是外部依赖。
App
取决于Lib
,并包含来自Lib
的所有必要来源(它不与Lib
相关联)以成功编译自己。
如何避免在编译App
时出现的pugixml.hpp库的命名空间冲突。如何在此设置中使用同一库的两个不同版本?
我看到以下选项:
将pugixml
中的名称空间A
移至namespace A{ namespace pugixml {...} }
,app
中的名称空间pugixml
移至app
中的名称空间namespace app{ namespace pugixml {...} }
setInterval(function() {
myFunction();
}, 100);
function myFunction() {
//Your code
}
重命名所有名称空间?我该怎么做?硬编码?或者是否有c ++语法?
什么是好方法?