gcc 5.4.1 не может скомпилировать файл [duplicate]

Наличие Windows (независимо от того, какая версия) по-прежнему считается одной загрузочной системой. Внутри диспетчера загрузки Windows оба обрабатываются одинаково, вы выбираете только тот, который вы хотите, когда вы уже находитесь в системе загрузки Windows. В вашем случае вы фактически являетесь двойной загрузкой (Ubuntu / Windows). Если вы выберете Windows, вам будет показан менеджер загрузки Windows, в котором будет отображаться Windows 7 / 8. Тройная загрузка будет похожа на Mac / Windows / Ubuntu (FreeBSD, Microsoft, Linux).

В вашем конкретном случае Я бы не рекомендовал отключать GRUB, поскольку это был бы единственный менеджер загрузки в вашем случае, который может обрабатывать как версии Windows, так и Ubuntu. У диспетчера Windows все еще есть много проблем с обработкой не-Microsoft, и ваш раздел загрузки Linux будет связан с Windows, поэтому любой сбой (например, вирусы, атакующие диспетчер загрузки) также повлияет на загрузку Ubuntu или нет (если Windows

Я рекомендую сделать следующее, так как у вас все 3 уже установлены, попробуйте запустить программу очистки grub, чтобы увидеть, может ли она отображать все 3 ОС на одном и том же экране загрузки:

 sudo update-grub
0
задан 14 November 2017 в 11:51

6 ответов

Используйте подробный режим для генерации вывода, и вы можете посмотреть, какая ошибка.

gcc -v -c hello.c
0
ответ дан 22 May 2018 в 16:15
  • 1
    Спасибо, ты спас мне жизнь! Я нахожу основную причину. – Farmer Li 14 November 2017 в 12:10
  • 2
    Нет проблем, это нормально, когда вы нашли решение – ducvd 14 November 2017 в 13:27

Используйте подробный режим для генерации вывода, и вы можете посмотреть, какая ошибка.

gcc -v -c hello.c
0
ответ дан 18 July 2018 в 03:19

Используйте подробный режим для генерации вывода, и вы можете посмотреть, какая ошибка.

gcc -v -c hello.c
0
ответ дан 24 July 2018 в 17:48

Еще раз спасибо @ducvd. когда я запускаю эту команду: gcc -v -c hello.c вывод:

COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -imultiarch x86_64-linux-gnu hello.c -quiet -dumpbase hello.c -mtune=generic -march=x86-64 -auxbase hello -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccgCfljP.s
GNU C11 (Ubuntu 5.4.1-2ubuntu1~16.04) version 5.4.1 20160904 (x86_64-linux-gnu)
    compiled by GNU C version 5.4.1 20160904, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/5/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
GNU C11 (Ubuntu 5.4.1-2ubuntu1~16.04) version 5.4.1 20160904 (x86_64-linux-gnu)
    compiled by GNU C version 5.4.1 20160904, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 0d1f484395ede84b192d061a0b021ec8
COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64'
 as -v --64 -o hello.o /tmp/ccgCfljP.s
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64'

Preprocess хорош, но при выполнении команды as происходит что-то неправильное, чтобы скомпилировать файл .c в .o . Итак, я проверяю, нормально ли это, как в пути:

/ usr / local / bin / as

это бесполезная символьная ссылка , Используемый для компиляции как должен быть расположен:

/ usr / local / bin / as

/ usr / bin / как

, когда я удаляю / usr / local / bin / as, все работает хорошо для меня!

0
ответ дан 22 May 2018 в 16:15

Еще раз спасибо @ducvd. когда я запускаю эту команду: gcc -v -c hello.c вывод:

COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -imultiarch x86_64-linux-gnu hello.c -quiet -dumpbase hello.c -mtune=generic -march=x86-64 -auxbase hello -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccgCfljP.s GNU C11 (Ubuntu 5.4.1-2ubuntu1~16.04) version 5.4.1 20160904 (x86_64-linux-gnu) compiled by GNU C version 5.4.1 20160904, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-linux-gnu/5/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C11 (Ubuntu 5.4.1-2ubuntu1~16.04) version 5.4.1 20160904 (x86_64-linux-gnu) compiled by GNU C version 5.4.1 20160904, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 0d1f484395ede84b192d061a0b021ec8 COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64' as -v --64 -o hello.o /tmp/ccgCfljP.s COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64'

Preprocess хорош, но при выполнении команды as происходит что-то неправильное, чтобы скомпилировать файл .c в .o . Итак, я проверяю, нормально ли это, как в пути:

/ usr / local / bin / as

это бесполезная символьная ссылка , Используемый для компиляции как должен быть расположен:

/ usr / local / bin / as

/ usr / bin / как

, когда я удаляю / usr / local / bin / as, все работает хорошо для меня!

0
ответ дан 18 July 2018 в 03:19

Еще раз спасибо @ducvd. когда я запускаю эту команду: gcc -v -c hello.c вывод:

COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/5/cc1 -quiet -v -imultiarch x86_64-linux-gnu hello.c -quiet -dumpbase hello.c -mtune=generic -march=x86-64 -auxbase hello -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccgCfljP.s GNU C11 (Ubuntu 5.4.1-2ubuntu1~16.04) version 5.4.1 20160904 (x86_64-linux-gnu) compiled by GNU C version 5.4.1 20160904, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-linux-gnu/5/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C11 (Ubuntu 5.4.1-2ubuntu1~16.04) version 5.4.1 20160904 (x86_64-linux-gnu) compiled by GNU C version 5.4.1 20160904, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 0d1f484395ede84b192d061a0b021ec8 COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64' as -v --64 -o hello.o /tmp/ccgCfljP.s COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-c' '-mtune=generic' '-march=x86-64'

Preprocess хорош, но при выполнении команды as происходит что-то неправильное, чтобы скомпилировать файл .c в .o . Итак, я проверяю, нормально ли это, как в пути:

/ usr / local / bin / as

это бесполезная символьная ссылка , Используемый для компиляции как должен быть расположен:

/ usr / local / bin / as

/ usr / bin / как

, когда я удаляю / usr / local / bin / as, все работает хорошо для меня!

0
ответ дан 24 July 2018 в 17:48

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

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