【发布时间】:2012-03-31 21:07:50
【问题描述】:
我目前正在从 ubuntu 11.04 (gcc 4.5) 切换到 ubuntu 12.04(但我在 ubuntu 11.10 上也有同样的问题,gcc 4.6)并且无法编译我的一些项目了。
我有一个库,我们称之为 liba,我自己构建了它,所以我得到了
liba.so.0.0.1 (real library)
liba.so.0 -> liba.so.0.0.1 (symbolic link)
liba.so -> liba.so.0.0.1 (symbolic link)
但是当我尝试使用 liba 构建程序时:
gcc -o myprogram myprogram.c -la
我收到一个错误,找不到我的库:
/usr/bin/ld.bfd.real: cannot find -la
另一方面,如果我删除 liba.so 并将 liba.so.0.0.1 重命名为 liba.so,一切正常。或者使用完整的共享库调用 gcc,其文件名有效 find:
gcc -o myprogram myprogram.c -l:liba.so.0.0.1
不幸的是,由于我的构建系统中的版本控制原因,这两种解决方案对我来说并不理想。
想法?
编辑:没关系,我发现问题在于“新”vmware 不支持共享文件夹中的符号链接。现在使用 NFS,一切都很好。
【问题讨论】: