使用“libstudxml”库的C ++代码将无法编译或链接

时间:2016-01-09 18:58:16

标签: c++

我正在尝试使用libstudxml库:

libstudxml: modern C++ XML API

Github Repository: windoze/libstudxml

但我的代码不会编译,我可能没有链接到库...有谁知道我是否需要链接libstudxml库?或者我做错了什么?

这就是我编译的方式:

g++ -std=c++11 main.cpp

我错过了什么吗?

g++ -std=c++11 main.cpp -l??????

这是我正在尝试编译的代码:

#include <iostream>
#include <fstream>
#include <xml/parser>
#include <xml/serializer>
int main()
{
  std::ifstream ifs( "file.xml" );
  xml::parser p( ifs, "file.xml" );
}

这是我得到的错误:

/tmp/ccLqLaZq.o: In function 'main':
main.cpp:(.text+0xa9): 
undefined reference to 'xml::parser::~parser()'
/tmp/ccLqLaZq.o: In function 'xml::parser::parser(std::istream&, 
std::string const&, unsigned short)':
main.cpp:(.text._ZN3xml6parserC2ERSiRKSst[_ZN3xml6parserC5ERSiRKSst]+0xd5):  
undefined reference to 'xml::parser::init()'
collect2: error: ld returned 1 exit status

1 个答案:

答案 0 :(得分:1)

编译和链接代码所需的命令是:

g++ -std=c++11 main.cpp -lstudxml 

感谢Oleg Andriyanov。

要运行可执行文件,您需要:

LD_LIBRARY_PATH=/usr/local/lib ./a.out