开发者社区> 问答> 正文

linux动态链接库问题,郁闷了好久请高手帮忙……

最近在链接动态库时老是出现如下错误:

/usr/bin/ld: cannot find -llibpcre
 
collect2: ld returned 1 exit status
使用的编译语句是:gcc -o pcredemo pcredemo.c -L /usr/lib -llibpcre

我记得刚安装pcre库时是可以通过编译的。最近不知道出了什么问题。

还有一个很奇怪的现象是,使用如下语句竟然可以通过编译并可正常运行程序:

gcc -o pcredemo pcredemo.c  /usr/lib/libpcre.so

但是我老是觉得使用这样的语句非常不爽。

后来又试了下其他的动态库(不管是第三方的开源库还是自己写的一个简单测试库),都出现这种问题。实在是不知道所措了……

展开
收起
a123456678 2016-06-12 16:37:48 1960 0
1 条回答
写回答
取消 提交回答
  • gcc -o pcredemo pcredemo.c -L /usr/lib -lpcre

    你这个只是在编译时指定了动态库的目录,没有指定运行时的动态库目录,指定运行时动态库目录:

    gcc pcredemo.c -L /usr/lib -lpcre -Wl,-rpath,/usr/lib -o pcredemo

    2019-07-17 19:34:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载