最近在链接动态库时老是出现如下错误:
/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
但是我老是觉得使用这样的语句非常不爽。
后来又试了下其他的动态库(不管是第三方的开源库还是自己写的一个简单测试库),都出现这种问题。实在是不知道所措了……
gcc -o pcredemo pcredemo.c -L /usr/lib -lpcre
你这个只是在编译时指定了动态库的目录,没有指定运行时的动态库目录,指定运行时动态库目录:
gcc pcredemo.c -L /usr/lib -lpcre -Wl,-rpath,/usr/lib -o pcredemo
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。