перекрестная ошибка компиляции для helloworld программы

Я уже создал amhello-1.0.tar.gz, использующий этот учебный щелчок для открытия

теперь пытаюсь раздражать компиляцию, но ошибка происходит. я следую за этим учебным щелчком для открытия

после ввода make ошибка команды происходит

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
1
задан 4 January 2015 в 18:04

1 ответ

Похоже, что вы повторно используете тот же каталог сборки для кросс-компиляции, который вы использовали для исходной нативной сборки. Программа 'make' не знает, что вы изменили наборы инструментов, и не считает, что объектный файл (main.o) устарел - поэтому она не пытается перекомпилировать его, она просто переходит прямо к шаг связывания - который завершается неудачей, потому что он пытается связать нативный объект ELF с чужими (mingw) библиотеками.

Попробуйте выполнить make clean или rm src/*.o перед make, чтобы вызвать полную перекомпиляцию.

0
ответ дан 4 January 2015 в 18:04

Другие вопросы по тегам:

Похожие вопросы: