天嵌 ARM开发社区

 找回密码
 注册
查看: 3005|回复: 12

交叉编译时的难题

[复制链接]
Ray_buaa 发表于 2010-1-26 15:45:13 | 显示全部楼层 |阅读模式
arm-linux-g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_CONFIG_PXA -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/QtEmbedded-4.4.3/mkspecs/qws/linux-arm-g++ -I. -I/usr/local/Trolltech/QtEmbedded-4.4.3/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.4.3/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.4.3/include/QtNetwork -I/usr/local/Trolltech/QtEmbedded-4.4.3/include/QtNetwork -I/usr/local/Trolltech/QtEmbedded-4.4.3/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.4.3/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.4.3/include -I/usr/local/Aria_arm/include -I. -I. -o facetdata.o facetdata.cpp
make: arm-linux-g++: Command not found
make: *** [facetdata.o] Error 127

echo了一下PATH:
echo $PATH
/usr/local/qt-embedded-linux-opensource-src-4.4.3/bin:/usr/local/Trolltech/QtEmbedded-4.4.3-arm-3.4.1/bin:/usr/local/Trolltech/QtEmbedded-4.4.3/bin:/opt/host/armv4l/bin:/usr/local/arm-linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/3.3.2/bin:/usr/local/arm/3.4.1/bin:/usr/local/arm/3.3.2/bin
我发现/usr/local/arm-linux/bin目录下有arm-linux-g++ 啊:
cd /usr/local/arm-linux/bin     ls
arm-linux-addr2line  arm-linux-cpp        arm-linux-gcov     arm-linux-ranlib
arm-linux-ar         arm-linux-g++        arm-linux-ld       arm-linux-readelf
arm-linux-as         arm-linux-gcc        arm-linux-nm       arm-linux-size
arm-linux-c++        arm-linux-gcc-3.3.2  arm-linux-objcopy  arm-linux-strings
arm-linux-c++filt    arm-linux-gccbug     arm-linux-objdump  arm-linux-strip
小弟是交叉编译的菜鸟,哪位大哥能帮我解决一下,谢谢了:)
fanmaozhi 发表于 2010-1-26 16:22:25 | 显示全部楼层
你路径设置的太多了,只保留你所需要的
fanmaozhi 发表于 2010-1-26 17:19:50 | 显示全部楼层
在etc/profile中设置、
vi /etc/profile;在出现pathmunge 的语句段后添加pathmunge /usr/local/arm/(版本号)/bin;

保存对profile的修改后,执行source /etc/profile就OK了
 楼主| Ray_buaa 发表于 2010-1-28 17:00:29 | 显示全部楼层
我改了一下PATH,只有/usr/local/arm/3.3.2/bin下有arm-linux-g++时还是有同样的错误:'(
怎么回事啊?
亚瑟王 发表于 2010-1-28 21:22:45 | 显示全部楼层
输入:arm-linux-g++ -v看看。
 楼主| Ray_buaa 发表于 2010-3-3 10:00:18 | 显示全部楼层
输入 arm-linux-g++ -v后的结果
Reading specs from /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/specs
Configured with: ../gcc-3.3.2/configure --target=arm-linux --with-cpu=strongarm1100 --prefix=/usr/local/arm/3.3.2 i686-pc-linux-gnu --with-headers=/work/kernel.h3900/include --enable-threads=pthreads --enable-shared --enable-static --enable-languages=c,c++
Thread model: posix
gcc version 3.3.2
亚瑟王 发表于 2010-3-3 16:26:28 | 显示全部楼层
make: arm-linux-g++: Command not found,这个提示信息表明交叉编译器的命令不存在,
在你修改了/etc/profile文件后,你再编译试试呢,
 楼主| Ray_buaa 发表于 2010-3-17 23:14:07 | 显示全部楼层
还是不管用啊
 楼主| Ray_buaa 发表于 2010-3-17 23:48:10 | 显示全部楼层
用/usr/local/arm/3.3.2/bin/arm-linux-g++编译简单的.cpp文件就能编译成功,但当用qmake生成的Makefile make时就会报错,是不是和qmake的设置有关?
 楼主| Ray_buaa 发表于 2010-3-17 23:54:33 | 显示全部楼层
执行arm-linux-g++时编译器的路径是不是在PATH下找啊?我用arm-linux-g++编译小程序时找不到命令,用/usr/local/arm/3.3.2/bin/arm-linux-g++编译时就能通过,但PATH下确实有/usr/local/arm/3.3.2/bin啊,为什么必须要输入绝对路径呢?
亚瑟王 发表于 2010-3-19 14:52:41 | 显示全部楼层
随便打开一个终端,输入:arm-linux-gcc -v,得到什么信息?
你说的make出错,错误信息是什么?
 楼主| Ray_buaa 发表于 2010-3-19 18:01:43 | 显示全部楼层
问题解决了,是权限的问题。用root用户执行就没这个错误,用普通用户sudo执行就有这个错误,但还不知道为什么。谢谢各位了
亚瑟王 发表于 2010-3-19 18:07:44 | 显示全部楼层
晕死,我刚刚才发现你给出来的所有的终端里面的信息都没有给当前用户状态的信息,我是默认你使用的是超级用户的权限。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-17 19:45 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表