c ++ xerces引用没有定义但已定义

时间:2015-12-24 04:51:57

标签: c++ gcc g++ xerces

我按照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

我该如何解决这个问题?

1 个答案:

答案 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