_ZNK10libtorrent5entry4dictB5cxx11Ev错误

是这样的编译完libtorrent就手动编译make_torrent.cpp 结果报错

g++ -o test make_torrent.cpp -ltorrent-rasterbar -lboost_system -lpthread

报错如下:

/tmp/ccwZnN4Y.o: In function `int libtorrent::detail::bencode_recursive<std::back_insert_iterator<std::vector<char, std::allocator<char> > > >(std::back_insert_iterator<std::vector<char, std::allocator<char> > >&, libtorrent::entry const&)':
make_torrent.cpp:(.text._ZN10libtorrent6detail17bencode_recursiveISt20back_insert_iteratorISt6vectorIcSaIcEEEEEiRT_RKNS_5entryE[_ZN10libtorrent6detail17bencode_recursiveISt20back_insert_iteratorISt6vectorIcSaIcEEEEEiRT_RKNS_5entryE]+0x1a8): undefined reference to `_ZNK10libtorrent5entry4dictB5cxx11Ev'
collect2: error: ld returned 1 exit status

关于这个undefined reference to `_ZNK10libtorrent5entry4dictB5cxx11Ev'错误全网都只有一个 但是也解决不了问题 后来发现我编译的libtorrent使用了c++11的特性

但是我直接编译文件的时候没有用 就导致了这个问题 添加一个c++11的编译参数 就没有问题了

g++ -o test make_torrent.cpp -std=c++11 -ltorrent-rasterbar -lboost_system -lpthread
原文地址:https://www.cnblogs.com/yuandaozhe/p/14192022.html