最近在链接动态库时老是出现如下错误:
/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
但是我老是觉得使用这样的语句非常不爽。
后来又试了下其他的动态库(不管是第三方的开源库还是自己写的一个简单测试库),都出现这种问题。实在是不知道所措了……
另外,你编译好二进制后,可以用ldd命令查看是否能找到相应的依赖的动态库,如果没有找到,说明目录有问题。
ldd命令用法自己google一下吧,很简单的
引用来自“中山野鬼”的答案