gpt4 book ai didi

gcc/ld 链接时不遵循符号链接(symbolic link)文件

转载 作者:行者123 更新时间:2023-12-04 18:26:09 27 4
gpt4 key购买 nike

我目前正在从 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,它的文件名可以找到:
gcc -o myprogram myprogram.c -l:liba.so.0.0.1

不幸的是,由于我的构建系统中的版本控制原因,这两种解决方案对我来说并不理想。

想法?

编辑:没关系,我发现问题在于"new"vmware 不支持共享文件夹中的符号链接(symbolic link)。现在使用 NFS,一切都很好。

最佳答案

确定liba的位置/etc/ld.so.conf 中提到了生活。并运行 ldconfig .或者,您可以使用 -Lpath 提供搜索路径.

关于gcc/ld 链接时不遵循符号链接(symbolic link)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9959692/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com