Não é possível executar o código compilado do g ++. Receba um erro de permissão. Chmod usado, erro de formato Exec

0

Eu tenho usado o Code :: Blocks para escrever algum código e usei o cbp2make para gerar um makefile que compila com g++ . Eu corro make e recebo todos os arquivos ".o" que o makefile promete nas pastas "obj / Release" e "obj / Debug", como se eu tivesse compilado em Code :: Blocks. Aqui está o kicker: não consigo rodar meu código.

Se eu fizer:   ~/<path>/obj/Release$: ./main.o

Eu recebo:  %código%.

Já experimentei bash: ./main.o: Permission denied , chmod 744 ./main.o e chmod 755 ./main.o . Eu também tentei sem o chmod 777 ./main.o , com ./ , e também substituindo sudo chmod w / 7-- tudo apenas por causa da separação. Estes alteram a saída de +x para:

./main.o

Para referência: bash: ./main.o: cannot execute binary file: Exec format error retorna:

ls -l main.o depois de não fazer nada

-rw-r--r-- 1 jiggly jiggly 661344 Sep 8 16:51 main.o depois de fazer -rwxr -xr -x 1 jiggly jiggly 661344 Sep 8 16:51 main.o

chmod 744 depois de fazer -rwxr-xr-x 1 jiggly jiggly 661344 Sep 8 16:51 main.o

chmod 755 depois de fazer -rwxrwxrwx 1 jiggly jiggly 661344 Sep 8 16:51 main.o

então chmod 777 está funcionando pelo menos;)

Além disso, chmod retorna file main.o . Eu sei que pelo menos o meu sistema é "x86-64", mas talvez eu esteja perdendo alguma informação aqui?

Obviamente, o problema mais importante que estou tendo é que meu código não será executado (fora do Code :: Blocks) e eu preciso disso. Eu realmente aprecio qualquer ajuda com isso. Além disso, não tenho a menor idéia de por que estou recebendo erros de permissão e formatação. Eu adoraria se perdesse algo óbvio, mas qualquer solução seria útil e educativa.

    
por jiggly 08.09.2017 / 23:41

0 respostas