gpt4 book ai didi

c++ - Clang 链接器不查看 LD_LIBRARY_PATH

转载 作者:可可西里 更新时间:2023-11-01 18:33:25 30 4
gpt4 key购买 nike

我正在尝试使用 clang (3.0) 构建和链接一个基于 cmake 的 C++ 项目。该项目链接到安装在自定义目录/my/dir/中的几个库。此目录包含在 LD_LIBRARY_PATH 和 LIBRARY_PATH 环境变量中。项目构建并与 g++ 链接良好。

cmake 生成并执行的链接命令如下所示:

/usr/bin/clang++ -O3 stuff.cpp.o -o stuff -rdynamic -lmylib

ld 然后提示以下消息:

/usr/bin/ld: cannot find -lmylib

每当我手动添加 -L/my/dir/ 时,上面的链接命令运行良好。有没有一种方法可以在不指定 -L 标志的情况下进行链接?

最佳答案

$LD_LIBRARY_PATH 环境变量(及其在其他基于 UNIX 的平台上的各种替代变量)在运行时使用,而不是链接时,查找库。

使用 -L 是正确的做法,无法避免。

注意:在 Linux 下(你没有指定你的平台,所以我猜)一个更好的方法是在 /etc/ld.so.conf.d/ 中正确配置一个文件并且完全避免使用 $LD_LIBRARY_PATH

关于c++ - Clang 链接器不查看 LD_LIBRARY_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12582987/

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