zoukankan      html  css  js  c++  java
  • 链接libtorrent库时出现的问题

    在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

    问题解决

  • 相关阅读:
    为MYSQL加注释--mysql注释符
    基于SSM3框架FreeMarker自定义指令(标签)实现
    SpringMVC工作原理
    Web系统从Oracle迁移至MySQL
    Memcached集群/分布式/高可用 及 Magent缓存代理搭建过程 详解
    深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
    MySQL存储引擎
    mysql常用函数
    转:FIFO的定义与作用
    转:memset用法详解
  • 原文地址:https://www.cnblogs.com/wowk/p/3594654.html
Copyright © 2011-2022 走看看