在QtCreator中使用libtorrent库的时候,

项目配置中 libs项配置如下:

LIBS += -liconv -ltorrent-rasterbar -lboost_system -lboost_filesystem

编译的时候出现如下错误:

/usr/local/lib/libtorrent-rasterbar.so:-1: error: undefined reference to `libiconv_open'

/usr/local/lib/libtorrent-rasterbar.so:-1: error: undefined reference to `libiconv'

:-1: error: collect2: error: ld returned 1 exit status

最初是以为libiconv没有装

查看一下

$ ls /usr/local/include/iconv* /usr/local/lib/libiconv* 

结果如下:

/usr/local/include/iconv.h  /usr/local/lib/libiconv.so    /usr/local/lib/libiconv.so.2.5.1
/usr/local/lib/libiconv.la  /usr/local/lib/libiconv.so.2

libiconv已经安装了

那就看看是不是没有链接到/use/local/lib中的库吧

查看 /etc/ld.so.config

发现 /usr/local/lib已经写入

 

也不是ld.so.config的问题,接下来尝试重新编译安装 libtorrent 和 libconv,问题还是没解决。

 

google一下 , 找的许多文章都是关于php的,而且解决方法不奏效,

然后发现了这篇帖子 :

http://www.cnblogs.com/lovemdx/archive/2013/06/09/3128371.html

该贴的解决方案是讲自己安装的libiconv卸载,使用libc提供的libiconv,依然无法解决我这个问题,

但是贴中讲的先后顺序的问题给了我点启发,于是尝试着调整一下 LIBS 中的库链接选项的顺序 ,

试着把 -liconv 移到最后

LIBS += -ltorrent-rasterbar -lboost_system -lboost_filesyste -liconv

问题解决

相关文章:

  • 2021-12-03
  • 2022-12-23
  • 2022-12-23
  • 2021-08-08
  • 2021-05-18
  • 2022-12-23
  • 2020-01-19
  • 2022-12-23
猜你喜欢
  • 2021-11-13
  • 2018-08-09
  • 2021-05-02
  • 2021-10-07
  • 2021-10-12
  • 2018-10-14
  • 2022-12-23
相关资源
相似解决方案