Не удается выполнить скомпилированный код g ++. Получить разрешение. Использовал chmod, получил ошибку формата Exec

Я использовал Code :: Blocks для написания кода, и я использовал cbp2make для создания make-файла, который компилируется с помощью g++. Я запускаю make, и я получаю все файлы «.o», которые обещаю makefile в папках «obj / Release» и «obj / Debug», как если бы я был скомпилирован в Code :: Blocks. Вот кикер: я не могу запустить свой код.

Если я это сделаю: ~/<path>/obj/Release$: ./main.o

Получаю: bash: ./main.o: Permission denied.

Я пробовал chmod 744 ./main.o, chmod 755 ./main.o и chmod 777 ./main.o. Я также пробовал использовать ./, с sudo chmod, а также заменяя 7-- w / +x все только для разграбления. Они меняют выход ./main.o на:

bash: ./main.o: cannot execute binary file: Exec format error

Для справки: ls -l main.o возвращает:

-rw-r--r-- 1 jiggly jiggly 661344 Sep 8 16:51 main.o после выполнения ничего

-rwxr -xr -x 1 jiggly jiggly 661344 Sep 8 16:51 main.o после делать chmod 744

-rwxr-xr-x 1 jiggly jiggly 661344 Sep 8 16:51 main.o после осуществления chmod 755

-rwxrwxrwx 1 jiggly jiggly 661344 Sep 8 16:51 main.o после осуществления chmod 777

поэтому chmod работает как минимум;)

Кроме того, file main.o возвращает main.o: ELF 64-bit LSB relocatable, x86-64, version1 (SYSV), not stripped. Я знаю, по крайней мере, что моя система «x86-64», но, возможно, мне не хватает информации здесь?

Очевидно, что самая важная проблема, с которой я столкнулась, заключается в том, что мой код не будет работать (вне Code :: Blocks), и мне это нужно. Я бы очень признателен за любую помощь в этом. Кроме того, я не знаю, почему я получаю разрешение и формат ошибок. Мне бы это понравилось, если бы я пропустил что-то очевидное, но любое решение было бы полезным и образовательным.

0
задан 9 September 2017 в 00:41

0 ответов

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

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