打算最近把minigui移植到at91sam9263ek开发板,今天试着用arm-linux-gcc编译minigui,遇到这个问题,让我花了半天时间。在google上捜没有得到结果,而很多人也遇到同样的问题。问题的解决很简单就是编译器版本的问题,把arm-linux-gcc的版本换成 3.4.1以下就解决了,虽然问题很解决,但是很多人也同样遇到,希望对初学者有帮助吧。问题如下:
[root@localhost libminigui-1.3.3]# make menuconfig
make -C scripts/lxdialog -f makefile.lx all
make[1]: Entering directory `/home/libminigui-1.3.3/scripts/lxdialog'
make[1]: Leaving directory `/home/libminigui-1.3.3/scripts/lxdialog'
/bin/sh scripts/Menuconfig configs/config.in
Using defaults found in .config
Preparing scripts: functions, parsing..............done.
Saving your MiniGUI configuration...
install prefix = /usr/local
compiler = arm-linux-gcc
target = arm-linux
host = arm-linux
checking build system type... i386-pc-linux-gnu
checking host system type... arm-unknown-linux-gnu
checking target system type... arm-unknown-linux-gnu
checking for arm-linux-gcc... arm-linux-gcc
checking for C compiler default output... configure: error: C compiler cannot create executables
See `config.log' for more details.
*** End of MiniGUI configuration.
*** Next, you must run 'make'.
[root@localhost libminigui-1.3.3]#
make -C scripts/lxdialog -f makefile.lx all
make[1]: Entering directory `/home/libminigui-1.3.3/scripts/lxdialog'
make[1]: Leaving directory `/home/libminigui-1.3.3/scripts/lxdialog'
/bin/sh scripts/Menuconfig configs/config.in
Using defaults found in .config
Preparing scripts: functions, parsing..............done.
Saving your MiniGUI configuration...
install prefix = /usr/local
compiler = arm-linux-gcc
target = arm-linux
host = arm-linux
checking build system type... i386-pc-linux-gnu
checking host system type... arm-unknown-linux-gnu
checking target system type... arm-unknown-linux-gnu
checking for arm-linux-gcc... arm-linux-gcc
checking for C compiler default output... configure: error: C compiler cannot create executables
See `config.log' for more details.
*** End of MiniGUI configuration.
*** Next, you must run 'make'.
[root@localhost libminigui-1.3.3]#
我用的编译器版本为:
[root@localhost libminigui-1.3.3]# arm-linux-gcc -v
Reading specs from /opt/eldk/usr/bin/../lib/gcc/arm-linux/4.0.0/specs
Target: arm-linux
Configured with: /opt/eldk/build/arm-2007-01-21/work/usr/src/denx/BUILD/crosstool-0.35/build/gcc-4.0.0-glibc-2.3.5-eldk/arm-linux/gcc-4.0.0/configure --target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/var/tmp/eldk.bMi2nK/usr/crosstool/gcc-4.0.0-glibc-2.3.5-eldk/arm-linux --with-headers=/var/tmp/eldk.bMi2nK/usr/crosstool/gcc-4.0.0-glibc-2.3.5-eldk/arm-linux/arm-linux/include --with-local-prefix=/var/tmp/eldk.bMi2nK/usr/crosstool/gcc-4.0.0-glibc-2.3.5-eldk/arm-linux/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long --enable-__cxa_atexit
Thread model: posix
gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)
Reading specs from /opt/eldk/usr/bin/../lib/gcc/arm-linux/4.0.0/specs
Target: arm-linux
Configured with: /opt/eldk/build/arm-2007-01-21/work/usr/src/denx/BUILD/crosstool-0.35/build/gcc-4.0.0-glibc-2.3.5-eldk/arm-linux/gcc-4.0.0/configure --target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/var/tmp/eldk.bMi2nK/usr/crosstool/gcc-4.0.0-glibc-2.3.5-eldk/arm-linux --with-headers=/var/tmp/eldk.bMi2nK/usr/crosstool/gcc-4.0.0-glibc-2.3.5-eldk/arm-linux/arm-linux/include --with-local-prefix=/var/tmp/eldk.bMi2nK/usr/crosstool/gcc-4.0.0-glibc-2.3.5-eldk/arm-linux/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long --enable-__cxa_atexit
Thread model: posix
gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)
改为:
[root@localhost root]# arm-linux-gcc -v
Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs
Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1
Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs
Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1
编译就不会有问题了。
