研究了一个下午,总算能调用libjpeg.a了。
总结一下,正确步骤如下:
- 正确安装libjpeg。按照自带的方法安装并不会把.a和.so生出来。需要用./configure --enable-static --enable-shared --prefix=/usr 这个命令让libjpeg在/usr下建立共享和静止的两种库。然后确保库文件的路径如 /usr/lib 或 /usr/local/lib 应该在 /etc/ld.so.conf 文件中,这样 ld 才能找到这个库。在检查了这一点后,要以 root 的身份运行/sbin/ldconfig更新缓存。
- 编译命令中加入库名。Eclipse的工程属性里,linker设置的库路径会自动加上-l前缀,这个前缀是用来自动扩展库名的。由于第一步已经把libjpeg.a放到指定路径里了,所以这里写上jpeg它就能自动找到库。