首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在交叉编译中使用rpath-link?

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

Stack Overflow用户
提问于 2013-06-22 07:30:45
回答 1查看 5.9K关注 0票数 6

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

在构建库和应用程序时,当我查看哪些标志被传递给编译器和链接器时,我看到以下内容被传递给链接器:

代码语言:javascript
复制
-Wl,-rpath-link,/home/Dev/env/sys/crosscompiletoolchain/armle-v7/lib/

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

无论如何,构建的库和应用程序似乎在目标上都工作得很好,如果我必须猜测,我会说这是因为应用程序有一个由设备操作系统提供的环境,该环境将/lib/作为其默认库搜索路径之一(rpath-link仅指定要搜索的第一组目录)。这是正确的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-10 17:47:15

查看"Using LD,the GNU linker - Options - GNU Project Archives“(ftp.gnu.org/pub/old-gnu/Manuals/ld-2.9.1/html_node/ld_3.html):

-rpath和-rpath-link之间的区别在于,由-rpath选项指定的目录包含在可执行文件中并在运行时使用,而-rpath-link选项仅在链接时有效。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17245728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档