今天编译工程遇到个问题,耽误了一些时间解决。总结一下方便后人。
首先说下这个cc1命令似乎是放在cpp包里的,但是gcc4.4降低到4.1后出现这个问题。
搜了一下网上类似的问题。 无非以下几点原因。
arm-eabi-gcc: error trying to exec ‘cc1′: execvp: No such file or directory
1、先查看是不是安装了cpp包,发现安装了。问题依旧。
yuanwei@yuanyuefeng-desktop:~$>dpkg -L cpp-4.1 /. /usr /usr/share /usr/share/doc /usr/share/man /usr/share/man/man1 /usr/share/man/man1/cpp-4.1.1.gz /usr/bin /usr/bin/cpp-4.1 /usr/lib /usr/lib/gcc /usr/lib/gcc/i486-linux-gnu /usr/lib/gcc/i486-linux-gnu/4.1 /usr/lib/gcc/i486-linux-gnu/4.1/cc1 /usr/share/doc/cpp-4.1 /usr/share/man/man1/i486-linux-gnu-cpp-4.1.1.gz /usr/bin/i486-linux-gnu-cpp-4.1 /usr/lib/gcc/i486-linux-gnu/4.1.3
2、确认交叉编译工具的权限
可能是交叉编译工具的权限问题,chmod -R 777 * 就可以了
3. 最后我猜是不是g++的问题, 一般来说g++是包含在gcc中的吧, 既然没有,我们就自己安装把。
$ apt-get install g++-4.1
最后问题就解决了。
4.今天发现这个cc1的路径为,看来编译器本身已经有了这个命令。 如果出现问题的朋友可以试试看看这个路径是不是加到env里面来了。
5.编译UBOOT时遇到这个问题bin/bash: /home/ics/infodroid-2.2/infodroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: No such file or directory
朋友留言说这个问题是OS的位数导致的。确认你的系统是多少位的。
用命令: getconf LANG_BIT
然后选择对应的交叉编译器哦。