首页 > 代码库 > Xerces链接错误原因之/Zc:wchar_t-设置不一致
Xerces链接错误原因之/Zc:wchar_t-设置不一致
今天程序需要使用Xerces作为xml文件的解析与序列化工具,使用的是Xerces2.7.0版本。具体编译教程如下:
成功编译出了Xerces.dll和Xerces.lib。但是在链接到主工程的时候,总是链接失败。报错如下
error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: static wchar_t const * const xercesc_2_7::XMLUni::fgDOMWRTFormatPrettyPrint" (
原因:主工程和Xerces库工程宽字符wchar使用不一致造成的。其中Xerces类型定义如下:
参考:https://msdn.microsoft.com/en-us/library/dh8che7s.aspx 可知:When /Zc:wchar_t is specified, _WCHAR_T_DEFINED and _NATIVE_WCHAR_T_DEFINED symbols are defined.
所以只要保证两个工程的XMLCh类型定义一致就可以。都是wchar_t 或者都是unsigned short。
其中:/Zc:wchar_t的设置为:c/c++ ->语言
保证两个工程的配置一直就行。
PS:在查资料的过程中有人遇到两个工程的字符集设置不一样也会导致这样的链接错误。
Xerces链接错误原因之/Zc:wchar_t-设置不一致
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。