zoukankan      html  css  js  c++  java
  • 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:在查资料的过程中有人遇到两个工程的字符集设置不一样也会导致这样的链接错误。

  • 相关阅读:
    c#遍历文件夹获得所有文件
    var的一些理解
    Pycharm使用秘籍
    RESTful规范
    Django文档阅读-Day4
    Django文档阅读-Day3
    Django文档阅读-Day2
    Django文档阅读-Day1
    你的博客园奇丑无比怎么办?
    基于scrapy框架输入关键字爬取有关贴吧帖子
  • 原文地址:https://www.cnblogs.com/beeasy/p/6084131.html
Copyright © 2011-2022 走看看