gpt4 book ai didi

c++ - Xerces-c断言错误

转载 作者:行者123 更新时间:2023-11-30 04:34:34 30 4
gpt4 key购买 nike

我已经在 linux 上下载并构建了 Xerces-c:

Linux xxxx 2.6.24.7-server-3mnb #1 SMP Wed Sep 9 16:34:18 EDT 2009 x86_64 Intel(R) Xeon(R) CPU            3065  @ 2.33GHz GNU/Linux

创建了简单的程序:

#include <xercesc/sax2/XMLReaderFactory.hpp>
#include <xercesc/sax2/SAX2XMLReader.hpp>
#include <xercesc/sax2/DefaultHandler.hpp>
#include <xercesc/util/XMLUni.hpp>
//#include <xercesc/validators/common/Grammar.hpp>

XERCES_CPP_NAMESPACE_USE;

int main(int argC, char *argv[])
{
// DefaultHandler handler;
SAX2XMLReader *parser = XMLReaderFactory::createXMLReader();
delete parser;
return 0;
}

编译它:

g++ -lcurl -o xtest test.cpp /usr/local/lib/libxerces-c.a

成功编译,运行它,这是我得到的:

 ./xtest
xtest: xercesc/util/XMemory.cpp:63: static void* xercesc_3_1::XMemory::operator new(size_t, xercesc_3_1::MemoryManager*): Assertion `manager != 0' failed.
Aborted (core dumped)

任何人都有类似的经验/成功构建并使用过这个库......怎么样?它正在成为一个真正的痛苦,显然它是 linux 唯一能够针对具有命名空间支持的多个模式正确验证 XML 文档的东西(或者它是??)

最佳答案

你好像忘了调用 XMLPlatformUtils::Initialize在使用任何 xerces 功能之前。

Initialization must be called first in any client code.

此外,不要忘记 XMLPlatformUtils::Terminate () 一旦你完成了 xerces,即在程序结束时。

The termination call is currently optional, to aid those dynamically loading the parser to clean up before exit, or to avoid spurious reports from leak detectors.

AFAIR 无法初始化 xerces 会导致您列出的错误。

关于c++ - Xerces-c断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5902421/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com