Ошибка формата Bash, Exec

Я пытаюсь создать и запустить программу.

g++ -c source.cpp -o EIC
chmod u+x EIC
./EIC
bash:./EIC: Can not execute binary file: Exec format error.

файл EIC отображает:

EIC: ELF 64-bit LSB relocatable, x86-x64, version 1(SYSV), not stripped

uname -a отображает:

Linux localhost.localdomain 4.18.0-193.el8.x86_x64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Скажите, пожалуйста, в чем причина.

0
задан 13 November 2020 в 02:41

1 ответ

Из man g++:

 Когда вы вызываете GCC, он обычно выполняет предварительную обработку, компиляцию,
сборка и подключение. «Общие параметры» позволяют остановить это
процесс на промежуточной стадии. Например, опция -c говорит не
для запуска компоновщика. Затем вывод состоит из объектных файлов, выводимых
ассемблер.

Итак, если вы хотите, чтобы g++ запускал компоновщик — для создания исполняемого файла, а не файла объектного кода — вы должны удалить флаг -c из своей команды.

0
ответ дан 12 November 2020 в 23:40

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

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