我正在使用tinyxml库来解析项目中的XML文件.当我尝试定位x64平台时,我得到了LINKER错误,这里有一个错误:
错误4错误LNK2001:未解析的外部符号"private:static struct TiXmlString :: Rep TiXmlString :: nullrep_"(?nullrep_ @ TiXmlString @@ 0URep @ 1 @ A)ClassThatUsesTinyXML.obj
更新:我认为没有安装x64版本的tinyxml,但是当我尝试为x64平台构建库时,我遇到了这个错误:
LNK1561: entry point must be defined
Run Code Online (Sandbox Code Playgroud)
相反建设的TinyXML为x64 platforms,然后加入tinyxml.h并tinystr.h到项目中,我只是说所有的库文件,包括.cpp文件,现在我可以针对x64平台,图书馆,其实,正在兴建的时候我编译整个项目.
tinyxml 看起来并不支持开箱即用的共享库构建。
\n\n以下是我从 tinyxml 2.6.2 源构建 DLL 所遵循的步骤:
\n\ntinyxml.sln在 MS Visual Studio Express 2012 for Windows Desktop 中打开提供的 SLN 文件。出现提示时选择将旧项目文件转换为新格式。在里面tinyxml_2_6_2\\tinyxml\\x64\\Release你会发现tinyxml.dll,但没有导入库(tinyxml.lib)。这是因为没有导出任何符号。请参阅如何在 Visual C++ 中构建导入库 (.lib) 和 DLL?
如果您想采用共享库路线,则需要通过 MSVC 特定的__declspec(dllexport)修饰符导出所需的符号。请参阅Windows 中的符号可见性。