『求助』Build pcsl and midp on phoneme advance MR2 error!
大家好,我的平台是arm-linux,phoneme版本是phoneme_advanced-mr2-dev-src-b97-20_nov_2008.zip.现在我想在CDC基础上编译pcsl和midp,命令如下:CFLAGS+="-msoft-float" make -C cdc/build/linux-arm-generic/ CVM_TARGET_TOOLS_PREFIX=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux- GNU_TOOLS_DIR=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/ JDK_HOME=/usr/local/lib/java/j2sdk1.4.2_19 TOOLS_DIR=$TOP_DIR/tools J2ME_CLASSLIB=basis USE_MIDP=true MIDP_DIR=$TOP_DIR/midp MIDP_PLATFORM=linux_fb_gcc PCSL_DIR=$TOP_DIR/pcsl PCSL_PLATFORM=linux_arm_gcc QT_TARGET_DIR=/csm/working/qt-2.3.2 QTEMBEDDED=true QTOPIA=false USE_QVFB=true USE_QT_FB=false CVM_PRELOAD_LIB=true
但是最后在链接的时候提示pcsl目录编译出来的.a静态库都是硬浮点的,而CVM是软浮点的,错误提示如下:
Linking /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/./bin/cvm
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: ERROR: /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_file.a(pcsl_posix.o) uses hardware FP, whereas /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/./bin/cvm uses software FP
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: failed to merge target specific data of file /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_file.a(pcsl_posix.o)
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: ERROR: /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_file.a(pcsl_util_filelist.o) uses hardware FP, whereas /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/./bin/cvm uses software FP
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: failed to merge target specific data of file /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_file.a(pcsl_util_filelist.o)
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: ERROR: /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_network.a(pcsl_network.o) uses hardware FP, whereas /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/./bin/cvm uses software FP
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: failed to merge target specific data of file /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_network.a(pcsl_network.o)
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: ERROR: /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_network.a(pcsl_network_na_generic.o) uses hardware FP, whereas /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/./bin/cvm uses software FP
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: failed to merge target specific data of file /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_network.a(pcsl_network_na_generic.o)
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: ERROR: /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_print.a(pcsl_print.o) uses hardware FP, whereas /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/./bin/cvm uses software FP
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: failed to merge target specific data of file /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_print.a(pcsl_print.o)
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: ERROR: /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_string.a(pcsl_string.o) uses hardware FP, whereas /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/./bin/cvm uses software FP
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: failed to merge target specific data of file /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_string.a(pcsl_string.o)
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: ERROR: /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_string.a(utf.o) uses hardware FP, whereas /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/./bin/cvm uses software FP
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: failed to merge target specific data of file /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_string.a(utf.o)
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: ERROR: /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_escfilenames.a(pcsl_esc.o) uses hardware FP, whereas /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/./bin/cvm uses software FP
/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/lib/gcc/arm-linux/3.4.6/../../../../arm-linux/bin/ld: failed to merge target specific data of file /csm/working/phoneme_advanced_mr2/cdc/build/linux-arm-generic/midp/pcsl_fb/linux_arm/lib/libpcsl_escfilenames.a(pcsl_esc.o)
collect2: ld returned 1 exit status
我尝试修改pcsl/GNUmakefile,在其中添加了
ASM_ARCH_FLAGS = -msoft-float
CC_ARCH_FLAGS = -msoft-float
LINK_ARCH_FLAGS = -msoft-float
仍然不行。
有人遇到过这个问题吗?
注:
我如果用下面的命令不编译pcsl和midp,只编译CDC的话是可以成功的,且可执行文件都好用。
CFLAGS+="-msoft-float" make -C cdc/build/linux-arm-generic/ CVM_TARGET_TOOLS_PREFIX=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux- JDK_HOME=/usr/local/lib/java/j2sdk1.4.2_19 TOOLS_DIR=$TOP_DIR/tools J2ME_CLASSLIB=basis QT_TARGET_DIR=/csm/working/qt-2.3.2 QTEMBEDDED=true QTOPIA=false
也就是说我的qte编译也是正确的,CVM的demo图形也能出来,而且现在我修改了QTE后,已经可以响应遥控了。