【发布时间】:2012-03-24 11:11:28
【问题描述】:
我的目录结构如下:
/
|
+--- /lib
| libsomething.a
| libsomething.so
|
+----/obj
anObjFile.o
当我从obj 目录中运行以下命令时:
g++ -L../lib -lsomething anObjFile.o
我收到undefined reference 错误。显然gcc 找不到libsomething.a。
但是现在如果我删除libsomething.so 然后重新运行命令,链接成功。
根据gcc documentation -lsomething 应该扩展为libsomething.a。那么为什么libsomething.so 的存在会导致库搜索失败呢?另外,我该如何解决这个问题?
我在 Linux Mint 12 上使用 gcc 版本 4.6.1。
【问题讨论】: