linux 编译链接libcurl异常处理
2015-05-28 12:47
1321 查看
今天使用libcurl在程序链接的时候的时候提示了一下的错误:
strerror.c:(.text+0x3f3): undefined reference to `idna_strerror'
./Libcurl/libcurl.a(libcurl_la-timeval.o): In function `curlx_tvnow':
timeval.c:(.text+0x8f): undefined reference to `clock_gettime'
./Libcurl/libcurl.a(libcurl_la-url.o): In function `fix_hostname':
url.c:(.text+0x1ba5): undefined reference to `stringprep_check_version'
url.c:(.text+0x1bc3): undefined reference to `idna_to_ascii_lz'
url.c:(.text+0x1bcb): undefined reference to `stringprep_locale_charset'
url.c:(.text+0x1bfe): undefined reference to `idna_to_unicode_lzlz'
url.c:(.text+0x1c5d): undefined reference to `tld_check_lz'
url.c:(.text+0x1c73): undefined reference to `idn_free'
url.c:(.text+0x1c81): undefined reference to `tld_strerror'
./Libcurl/libcurl.a(libcurl_la-url.o): In function `Curl_disconnect':
url.c:(.text+0x6882): undefined reference to `idn_free'
url.c:(.text+0x6893): undefined reference to `idn_free'
collect2: ld returned 1 exit status
后面经过一系列的查询,发现是缺少两个依赖库文件,我也直接给出解决办法吧:
在gcc链接的时候,在libcurl库的后面新增两个新的库依赖:-lidn -lrt
因为上面报的那些错都是因为缺少这两个链接库导致的。或者可以在进行libcurl打包的时候执行./configure后面添加上这两个库。
strerror.c:(.text+0x3f3): undefined reference to `idna_strerror'
./Libcurl/libcurl.a(libcurl_la-timeval.o): In function `curlx_tvnow':
timeval.c:(.text+0x8f): undefined reference to `clock_gettime'
./Libcurl/libcurl.a(libcurl_la-url.o): In function `fix_hostname':
url.c:(.text+0x1ba5): undefined reference to `stringprep_check_version'
url.c:(.text+0x1bc3): undefined reference to `idna_to_ascii_lz'
url.c:(.text+0x1bcb): undefined reference to `stringprep_locale_charset'
url.c:(.text+0x1bfe): undefined reference to `idna_to_unicode_lzlz'
url.c:(.text+0x1c5d): undefined reference to `tld_check_lz'
url.c:(.text+0x1c73): undefined reference to `idn_free'
url.c:(.text+0x1c81): undefined reference to `tld_strerror'
./Libcurl/libcurl.a(libcurl_la-url.o): In function `Curl_disconnect':
url.c:(.text+0x6882): undefined reference to `idn_free'
url.c:(.text+0x6893): undefined reference to `idn_free'
collect2: ld returned 1 exit status
后面经过一系列的查询,发现是缺少两个依赖库文件,我也直接给出解决办法吧:
在gcc链接的时候,在libcurl库的后面新增两个新的库依赖:-lidn -lrt
因为上面报的那些错都是因为缺少这两个链接库导致的。或者可以在进行libcurl打包的时候执行./configure后面添加上这两个库。
相关文章推荐
- Linux Makefile自动编译和链接使用的环境
- C语言程序的编译、链接具体过程及Linux环境下的具体实例
- Linux编译+更换3.4版本内核教程 [复制链接]
- linux 编译,链接和加载
- Linux下编译、链接和装载
- linux编译同时链接静态和动态库
- 动态库的编译和链接(linux)
- Linux下编译出来的动态链接库缺少so后缀的问题解决
- Linux下动态库和静态库的编译和链接
- linux下boost编译及链接到系统目录
- Linux下编译链接库路径
- 如何在Linux下用C/C++语言操作数据库sqlite3(很不错!设计编译链接等很多问题!)
- linux 动态库和静态库编译链接方法
- 记录下Linux下编译和链接动态库的过程。
- linux 里的eclips编译OpenGL链接不到相应库的问题
- Linux环境下的编译,链接与库的使用
- linux下boost编译及链接到系统目录
- Linux编译链接之库
- 如何将arm-linux-gcc编译的动态链接helloworld在Android上运行
- Linux中c程序的编译链接过程2017/12/10