gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 01:36:48 24 4
gpt4 key购买 nike

我正在使用两个不同的 C++ 库。这两个库都使用类型的名称,比方说,称为 fofo。在 lib1.h 中:

typedef short fofo;

在 lib2.h 中:

namespace LIB2
{

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

我有一个使用这两个库的 C++ 项目/VS 2008:当我在我的项目中做的时候

#include lib1.h

我收到错误:error C2874: using-declaration causes a multiple declaration

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

最佳答案

这个(肮脏的)解决方法可能会起作用(取决于 header 的使用方式)

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

lib1wrapped.h

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

关于c++ - 两个不同的库使用相同的名称类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51255879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com