使用相同名称类型的两个不同库



我正在使用两个不同的c++库。两个库都使用一个名为fofo的类型。在lib1.h:中

typedef short fofo;

在lib2.h:中

namespace LIB2
{
typedef struct
{
uint16_t toto;    
} fofo;
}
using LIB2::fofo;

我有一个C++项目/VS2008,它使用了两个库:当我在我的项目

#include lib1.h

我得到错误:错误C2874:使用声明导致多个声明

我想在我的项目中使用这两个库,但不对这些库进行任何更改。我唯一可以修改的是我的VS2008项目。谢谢你的帮助!

这个(脏的(解决方法可能会起作用(取决于标头的使用方式(

与其直接包含lib1.h,不如通过制作一个新的头文件来包装它

lib1wrapped.h

#define fofo fofo_wrap
#include "lib1.h" // OR <lib1.h>
#undef fofo

相关内容

  • 没有找到相关文章

最新更新