库之间存在冲突?给出重新定义错误.- TinyXML2和Cocos2d-x
Libraries conflicting with eachother? Giving redefinition errors.- TinyXML2 and Cocos2d-x
我正试图编译我的程序,并得到奇怪的错误。我在Cocos2d-x中寻找任何类型的重新定义,但似乎找不到。我只是不知道该从哪里着手,这些词到底是什么意思。
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: char const * __thiscall tinyxml2::XMLElement::GetText(void)const " (?GetText@XMLElement@tinyxml2@@QBEPBDXZ) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: enum tinyxml2::XMLError __thiscall tinyxml2::XMLElement::QueryIntText(int *)const " (?QueryIntText@XMLElement@tinyxml2@@QBE?AW4XMLError@2@PAH@Z) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: enum tinyxml2::XMLError __thiscall tinyxml2::XMLElement::QueryFloatText(float *)const " (?QueryFloatText@XMLElement@tinyxml2@@QBE?AW4XMLError@2@PAM@Z) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: __thiscall tinyxml2::XMLDocument::XMLDocument(bool,enum tinyxml2::Whitespace)" (??0XMLDocument@tinyxml2@@QAE@_NW4Whitespace@1@@Z) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: virtual __thiscall tinyxml2::XMLDocument::~XMLDocument(void)" (??1XMLDocument@tinyxml2@@UAE@XZ) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: class tinyxml2::XMLNode * __thiscall tinyxml2::XMLNode::InsertFirstChild(class tinyxml2::XMLNode *)" (?InsertFirstChild@XMLNode@tinyxml2@@QAEPAV12@PAV12@@Z) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: void __thiscall tinyxml2::XMLNode::DeleteChildren(void)" (?DeleteChildren@XMLNode@tinyxml2@@QAEXXZ) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: enum tinyxml2::XMLError __thiscall tinyxml2::XMLDocument::LoadFile(char const *)" (?LoadFile@XMLDocument@tinyxml2@@QAE?AW4XMLError@2@PBD@Z) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: enum tinyxml2::XMLError __thiscall tinyxml2::XMLDocument::SaveFile(char const *,bool)" (?SaveFile@XMLDocument@tinyxml2@@QAE?AW4XMLError@2@PBD_N@Z) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: class tinyxml2::XMLElement * __thiscall tinyxml2::XMLDocument::NewElement(char const *)" (?NewElement@XMLDocument@tinyxml2@@QAEPAVXMLElement@2@PBD@Z) already defined in tinyxml2.obj
1>libcocos2d.lib(libcocos2d.dll) : error LNK2005: "public: class tinyxml2::XMLText * __thiscall tinyxml2::XMLDocument::NewText(char const *)" (?NewText@XMLDocument@tinyxml2@@QAEPAVXMLText@2@PBD@Z) already defined in tinyxml2.obj
Cocos2D-X已经包含了TinyXML。该错误表明TinyXML源文件被编译了两次。例如,如果cocos2d-x是一个单独的构建目标,并且你已经将TinyXML文件添加到应用程序项目目标中,则由于两个库/对象文件中存在相同的符号,因此会出现此错误。
解决方案:不要将TinyXML源文件添加到项目中,只需#include由cocos2d-x提供的TinyXML头文件
相关文章:
- 使用命名空间时出现多个定义错误
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 尝试调用 .h 文件中定义的变量时出现变量未定义错误
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 链接阶段出现多重定义错误
- 避免模板类中的重定义错误
- 即使我没有包含多个文件,C++中的多个定义错误
- 跨多个类的全局变量而不会出现重定义错误?
- 尝试运行 wasm 函数时出现模块未定义错误
- C++ 预期的左大括号以及重定义错误
- C++:成员的越界声明必须是纯虚函数的定义错误
- c++中数组的未定义错误
- Visual C:模板类中的自定义错误消息
- 为什么C++模板不会导致多个定义错误?
- 只有一个定义/声明时标头声明变量的多堆定义错误
- C++ 在多个其他类中使用单个类 - 编译时出现多个定义错误
- 基类未定义.错误 C2504
- Q 斯坦达项重定义错误
- 可视化C++中的结构定义错误
- VC++ C2011 重定义错误 - 未使用的头文件