gpt4 book ai didi

cross-compiling - rpath-link在交叉编译中如何使用?

转载 作者:行者123 更新时间:2023-12-04 07:04:58 35 4
gpt4 key购买 nike

我很难确定我对使用我所使用的特定工具链进行交叉编译时rpath-link是如何工作的理解(尽管我认为这是一个普遍适用于交叉编译的普遍问题)。

当我查看构建库和应用程序时将哪些标志传递给编译器和链接器时,我看到了以下传递给链接器的信息:

-Wl,-rpath-link,/home/Dev/env/sys/crosscompiletoolchain/armle-v7/lib/

因此,这是一条嵌入到为我的开发机器上的目标设备构建的共享库中的路径。这是有道理的,因为在部署到设备之前,我将在开发计算机上进行所有最终链接。不过,当我最终部署到设备(即共享库+应用程序)时,这些共享库会不会有无用的rpath-link?

无论如何,构建的库和应用程序似乎都能在目标上正常运行,并且如果我不得不猜测的话,是因为应用程序具有设备操作系统提供的环境,该环境将/lib/作为其默认库搜索之一路径(rpath-link仅指定要搜索的第一组目录)。这样对吗?

最佳答案

选中“使用LD,GNU链接器-选项-GNU项目文件”(ftp.gnu.org/pub/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html):

The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time.

关于cross-compiling - rpath-link在交叉编译中如何使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17245728/

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