erro de compilação cruzada para o programa helloworld

1

Eu já criei o amhello-1.0.tar.gz usando este tutorial clique para abrir

agora estou tentando fazer uma compilação cruzada, mas ocorre um erro. estou seguindo este tutorial clique para abrir

depois de inserir o erro de comando make ocorre

hp@ubuntu:~/amhello-1.0$ make
make  all-recursive
make[1]: Entering directory '/home/hp/amhello-1.0'
Making all in src
make[2]: Entering directory '/home/hp/amhello-1.0/src'
i586-mingw32msvc-gcc  -g -O2   -o hello.exe main.o  
main.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make[2]: *** [hello.exe] Error 1
make[2]: Leaving directory '/home/hp/amhello-1.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/hp/amhello-1.0'
make: *** [all] Error 2
    
por osama 29.12.2013 / 03:36

1 resposta

0

Parece que você está reutilizando o mesmo diretório de compilação para a compilação cruzada usada para a compilação nativa original. O programa 'make' não sabe que você mudou o toolchains, e não considera o arquivo objeto (main.o) desatualizado - então ele não tenta recompilá-lo, ele simplesmente pula direto para a etapa do link - que falha porque está tentando vincular um objeto ELF nativo a bibliotecas estrangeiras (mingw).

Tente executar um make clean ou rm src/*.o antes do make forçar a recompilação completa.

    
por steeldriver 29.12.2013 / 04:02