我正在尝试使用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
答案 0 :(得分:1)
编译和链接代码所需的命令是:
g++ -std=c++11 main.cpp -lstudxml
感谢Oleg Andriyanov。
要运行可执行文件,您需要:
LD_LIBRARY_PATH=/usr/local/lib ./a.out