码迷,mamicode.com
首页 > 其他好文 > 详细

Xerces链接错误原因之/Zc:wchar_t-设置不一致

时间:2016-11-21 08:39:47      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:alt   stat   library   c++   符号   教程   失败   format   imp   

今天程序需要使用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-设置不一致

标签:alt   stat   library   c++   符号   教程   失败   format   imp   

原文地址:http://www.cnblogs.com/beeasy/p/6084131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!