首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加目录到ld搜索路径的交叉编译要ARM?

如何添加目录到ld搜索路径的交叉编译要ARM?
EN

Stack Overflow用户
提问于 2012-02-12 19:05:43
回答 1查看 11K关注 0票数 1

我正在尝试将util配置为交叉编译,使用来自CodeSourcery的arm gnueabi。到目前为止,我唯一的问题是它找不到我编译的ncurses库。

如何将目录添加到ld搜索路径?我尝试过在我的LIBRARY_PATH和LD_LIBRARY_PATH变量中添加内容,但两者都没有。我知道我可以给gcc添加-L标志,它会添加到链接器路径中,但是有没有办法在全球范围内这样做,这样我就可以做到一次,而不必再担心它了?

这是arm-none-linux-gnueabi-gcc -print-search-dirs | grep libraries | sed 's/:/\n/g'的输出

代码语言:javascript
复制
libraries
 =/tools/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/
/tools/bin/../lib/gcc/
/tools/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/lib/arm-none-linux-gnueabi/4.6.1/
/tools/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/lib/
/tools/bin/../arm-none-linux-gnueabi/libc/lib/arm-none-linux-gnueabi/4.6.1/
/tools/bin/../arm-none-linux-gnueabi/libc/lib/
/tools/bin/../arm-none-linux-gnueabi/libc/usr/lib/arm-none-linux-gnueabi/4.6.1/
/tools/bin/../arm-none-linux-gnueabi/libc/usr/lib/

我想在我的ld搜索路径中添加/arm/usr/lib/arm/usr/local/lib

如果您需要任何其他命令的输出,只需询问!

编辑:我刚刚发现了CFLAGS环境变量--所有配置脚本/makefile都遵守它吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-14 06:26:15

如果您编译的ncurses库将链接到ARM二进制文件,则交叉编译时不能使用LD_LIBRARY_PATH!LD_LIBRARY_PATH仅用于当前运行时,而编译器或链接器在构建应用程序时绝不会使用。

CFLAGS的使用依赖于Makefile的创建者。即使CFLAGS被定义为环境变量,也不会自动使用它们。只有像autoconf工具这样的工具才能从环境中提取它们并自动使用它们。在Makefiles中可以找到如下内容:

代码语言:javascript
复制
$(CC) $(CFLAGS) ....

如果该片段存在,则Makefile将使用CFLAGS变量。LDFLAGS是用于链接时选项的更合适的环境变量。

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

https://stackoverflow.com/questions/9251740

复制
相关文章

相似问题

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