作者:shenghuo456
联系:shenghuo456@163.com, qq:82475491
欢迎大家来到我的网站:www.embedlinux.cn,主要讨论嵌入式ecos,连带的arm和交叉编译技术!
我前段时间在编译mysql的时候出现过一个错误具体的记不清楚了,大致是”arm-elf-ld error:stdlibc++ use hard float,but *.elf2flt use soft float”的错误,另外我在下载最新的uclinux2.4.32的时候编译也会出现这个错误,解决的办法是去掉了makefile里面的-msoft-float 选项,但是一直没找到什么原因。
我的硬件环境为:arm7:w90p710,无硬件浮点支持。编译链:gcc3.3.4,uclibc-9.28和自己写的pthread库。我以前自己编译的一款编译器,配置选项其中默认有UCLIBC_HAS_FLOATS=n,HAS_FPU=y,这样的配置不支持软件浮点。编译gcc库的时候,我看了makefile也没有做任何浮点指定,这样都默认为有硬件浮点。
此外我们在编译应用程序的时候,不做任何浮点选项指定,程序都是默认硬件浮点。
但是现在问题就来了,在uclinux2.4.32的时候我看了linux下面的makefile里面有指定的浮点的选项-msoft-float,这就是说编译内核程序的时候用软件浮点的支持,但是gc...
>> 阅读全文