Я использовал 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), и мне это нужно. Я бы очень признателен за любую помощь в этом. Кроме того, я не знаю, почему я получаю разрешение и формат ошибок. Мне бы это понравилось, если бы я пропустил что-то очевидное, но любое решение было бы полезным и образовательным.