错误在scratchbox中交叉编译ARM的单一源代码?

时间:2013-07-29 14:32:40

标签: mono scratchbox

我正在尝试使用链接http://www.mono-project.com/Mono:ARM#Compiling_on_the_device中的步骤交叉编译mono-3.2.0源代码。在我的电脑上安装了刮擦盒。大多数人建议使用上面的链接来交叉编译单声道。但我无法做到。

我对交叉编译有一个全面的了解如下:

Two stages of compilation needed.
The first one in my PC.
The second one within scratch box.

After that need to combine the resulting two install directories and copy that to my arm board.

我被困在scratchbox中,

当我尝试

              $ ./configure --host=arm-none-linux-gnueabi --disable-mcs-build

导致

configure:error:交叉编译时无法运行测试程序。

我试过后

                   $ ./configure --host=arm-none-linux-gnueabi --enable-minimal=profiler,debug,logging,soft_debug --with-tls=--with-tls=__thread --with-monotouch=no 
                                                   --without-mcs-docs --disable-mono-debugger CFLAGS=-DARM_FPU_VFP --with-sigaltstack=no --disable-mcs-buildno

使用此命令可以正常工作。我不知道这是对还是错,我从这个论坛得到了这个。

然后我试了

                   $ make -j 8

我收到以下错误: -

                                      After some make..

                                Making all in mini
             make[3]: Entering directory `/home/kishor/cross/mono-3.2.0/mono/mini'
             if test -d ../../.git; then \
           (cd ../..; \
              LANG=C; export LANG; \
              branch=`git branch | grep '^\*' | cut -d ' ' -f 2`; \
              version=`git log --no-color --first-parent -n1 --pretty=format:%h`; \
             echo "#define FULL_VERSION \"$branch/$version\""; \
            ); \
        else \
        echo "#define FULL_VERSION \"tarball\""; \
        fi > version.h
          CC       genmdesc-genmdesc.o
          CC       genmdesc-helpers.o
           In file included from mini-arch.h:21,
             from mini.h:36,
             from genmdesc.c:9:
          mini-arm.h:23: error: #error "hardfp-abi not yet supported."
          In file included from mini-arch.h:21,
             from mini.h:36,
             from helpers.c:9:
        mini-arm.h:23: error: #error "hardfp-abi not yet supported."
        make[3]: *** [genmdesc-genmdesc.o] Error 1
        make[3]: *** Waiting for unfinished jobs....
        make[3]: *** [genmdesc-helpers.o] Error 1
        make[3]: Leaving directory `/home/kishor/cross/mono-3.2.0/mono/mini'
        make[2]: *** [all-recursive] Error 1
        make[2]: Leaving directory `/home/kishor/cross/mono-3.2.0/mono'
        make[1]: *** [all-recursive] Error 1
        make[1]: Leaving directory `/home/kishor/cross/mono-3.2.0'
        make: *** [all] Error 2

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

我不确定这是否是拼写错误,但它应该是-disable-mcs-build not -disable- mc -build

之后应该正确配置。

答案 1 :(得分:0)

根据this issue,Mono不支持ARM上的硬浮动。请尝试使用CFLAGS = -DARM_FPU_NONE,或者只省略CFLAGS指令,因为它应该默认为工作配置。