c ++ xerces reference没有定义但已定义

c++ xerces reference without define but is defined

我按照 build xerces in linux 的说明进行操作 。/配置 制作 安装

但我正在尝试 运行 来自 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

我该如何解决这个问题?

匿名邮件有原因。

问题是 Code::Blocks 没有自动检测系统动态库。

我们需要去

Project->Build Options->Linker Settings

然后添加没有 lib 前缀的库名称(在我们的示例中为 xerces-c-3.1)。好吧,比 build 和 运行 没有错误。

喜欢

g++ -o main main.cpp /path-to-your-lib/src/.libs/libxerces-c-3.1.so