C++ Tinyxml-针对x64平台时出现链接错误
我正在使用库解析项目中的XML文件。当我尝试以x64平台为目标时,会出现链接器错误,以下是其中之一: 错误4错误LNK2001:未解析的外部符号“专用:静态 结构TiXmlString::Rep TiXmlString::nullrep_“ (?nullrep_u2;@TiXmlString@@0URep@1@A) 使用stInyXML.obj的类 更新:我估计没有安装tinyxml的x64版本,但当我尝试为x64平台构建库时,我遇到了以下错误:C++ Tinyxml-针对x64平台时出现链接错误,c++,tinyxml,C++,Tinyxml,我正在使用库解析项目中的XML文件。当我尝试以x64平台为目标时,会出现链接器错误,以下是其中之一: 错误4错误LNK2001:未解析的外部符号“专用:静态 结构TiXmlString::Rep TiXmlString::nullrep_“ (?nullrep_u2;@TiXmlString@@0URep@1@A) 使用stInyXML.obj的类 更新:我估计没有安装tinyxml的x64版本,但当我尝试为x64平台构建库时,我遇到了以下错误: LNK1561: entry point mus
LNK1561: entry point must be defined
我没有为
x64平台构建tinyxml
,然后将tinyxml.h
和tinystr.h
添加到项目中,而是添加了所有库文件,包括.cpp
文件,现在我可以针对x64平台,实际上,库是,当我构建整个项目时正在构建。它看起来不像tinyxml支持开箱即用的共享库构建
以下是我从tinyxml 2.6.2源代码构建DLL所遵循的步骤:
tinyxml.SLN
。出现提示时,选择将旧项目文件转换为新格式tinyxml\u 2\u 6\u 2\tinyxml\x64\Release
中,您将找到tinyxml.dll
,但没有导入库(tinyxml.lib
)。这是因为没有导出符号。看
如果您想使用共享库路径,则需要通过MSVC特定的
\uuu declspec(dllexport)
修改器导出所需的符号。请参阅。在编译库时定义TIXML\u USE\u STL,而不是链接到库的源时,会发生错误。最终的结果是,该库使用与使用该库的源代码不同的代码进行编译。请发布所有错误。我敢打赌,顶部的某个地方是一个错误,它说它找不到正确的库。您安装64位库了吗?没有。我只是尝试为x64平台构建tinyxml,但我做不到。以下是我在构建tinyxml时遇到的错误:error 1 error LNK1561:必须定义入口点path\tinyxml\u 2\u 6\u 2\tinyxml\LINK
@JoachimPileborg请检查我的更新您到底在编译什么?dll,还是xmltest?怎么做呢?我试图构建xmltest并以x64平台为目标。我通过将所有与tinyxml相关的.h和.cpp文件添加到我的项目中解决了这个问题,现在它可以工作了,谢谢@Synxis:)这实际上并没有使用tinyxml共享库-它只是一些丑陋的静态链接形式。请注意,如果你想使用新版本的tinyxml,你需要重新编译你的应用程序(但它是否经常更改?)