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

  • 相关阅读:
    同余方程(codevs 1200)
    Number Sequence(poj 1019)
    Paths on a Grid(poj 1942)
    取余运算(codevs 1497)
    火车站(codevs 2287)
    教官的游戏(codevs 2793)
    转圈游戏(codevs 3285)
    Code(poj 1850)
    菜菜买气球(codevs 2851)
    3Sum
  • 原文地址:https://www.cnblogs.com/beeasy/p/6084131.html
Copyright © 2011-2022 走看看