我按照build xerces in linux的说明操作 。/配置 使 make install
但我正试图从Programming Guide
运行第一个例子#include <xercesc/util/PlatformUtils.hpp>
// Other include files, declarations, and non-Xerces-C++ initializations.
using namespace xercesc;
int main(int argc, char* argv[])
{
try {
XMLPlatformUtils::Initialize();
}
catch (const XMLException& toCatch) {
// Do your failure processing here
return 1;
}
// Do your actual work with Xerces-C++ here.
XMLPlatformUtils::Terminate();
// Other terminations and cleanup.
return 0;
}
但是我收到了一些错误:
=== Build: Debug in vasprun_xml (compiler: GNU GCC Compiler) ===
vasprun_xml/main.cpp|22|reference to `xercesc_3_1::XMLUni::fgXercescDefaultLocale' not define
vasprun_xml/main.cpp 22reference to `xercesc_3_1::XMLPlatformUtils::Initialize(char const*, char const*, xercesc_3_1::PanicHandler*, xercesc_3_1::MemoryManager*)' not define
我该如何解决这个问题?
答案 0 :(得分:1)
Anon Mail有理由。
问题是 Code :: Blocks 没有自动检测系统动态库。
我们需要去
项目 - &gt;构建选项 - &gt;链接器设置
然后在没有lib前缀的情况下添加库的名称(在我们的示例中为 xerces-c-3.1 )。好的,而不是没有错误的构建和运行。
就像做
g ++ -o main main.cpp /path-to-your-lib/src/.libs/libxerces-c-3.1.so