草庐IT

c++ - Xerces-C 问题;调用对象析构函数时出现段错误

我一直在研究Xerces-CXML库。我正在玩这个简单的例子。我似乎无法让它在不泄漏内存和不发生段错误的情况下运行。这是一个或另一个。当我删除“清理”下的解析器对象时,总是会出现段错误。我尝试过使用2.8和2.7版本的库。注意:我对代码进行了所有异常检查,无论是否使用它,我都得到了相同的结果。为了可读性和简单性,我从下面的代码中删除了它。有没有精通Xerces的人愿意提出一些建议?我真的不能从回溯中看出多少,它只是跳到父类(superclass)析构函数并在那里发生段错误。回溯:(gdb)bt#00x9618ae42in__kill()#10x9618ae34inkill$UNIX20

c++ - 在 ubuntu 12.04 上设置 Xerces 以与 cmake 和 clang 一起使用

我想在我的项目中使用Xerces,我在cmake和clang的帮助下编译了它。我所做的是:下载源将其解压缩到名为“xerces-c-3.1.1”的文件夹cd进入那个文件夹./configuremakemakeinstall然后我写了LINK_DIRECTORIES(/usr/local/lib)进入我的CMakeLists.txt和#include进入我的main.cpp。它编译正常,但链接不起作用。我得到以下结果:LinkingCXXexecutableDG5_RECMakeFiles/DG5_RE.dir/main.cpp.o:Infunction`xercesc_3_1::XML

c++ - 由于名称修改导致无法解析的外部符号

我在将XERCES函数从2.6升级到2.8时遇到链接器错误unresolvedexternalsymbol(?resolveEntity@HandlerBase@xercesc_2_8@@UAEPAVInputSource@2@QBG0@Z)我检查了xerces-c_2.8.lib,发现名称lib与我的.obj文件中的名称有点不同,如图所示?resolveEntity@HandlerBase@xercesc_2_8@@UAEPAVInputSource@2@QB_W0@Z所以我知道链接器不会找到匹配项并抛出错误。但我无法理解为什么我的.obj文件包含不同的签名。代码包括正确的头文件和来