是这样的编译完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