g ++ aplicação compilada não funciona

3

Eu escrevi um código de simulação com C ++ e o compilei em um executável usando g++ . No entanto, o arquivo de saída não faz nada quando é clicado duas vezes. Eu verifiquei "permitir que o arquivo seja usado como executável" também, mas ainda assim, nada acontece. Alguma maneira alternativa que eu deveria tentar ou algo está errado?

EDIT: Ele está configurado para ser executado como um aplicativo WINE, mesmo que eu tenha excluído WINE usando apt-get purge há um tempo atrás. Pode ser o problema? Talvez eu devesse tentar outro programa para executá-lo. O que deveria ser realmente definido como padrão?

EDIT 2: Eu executei a compilação usando:

$ sudo g++ -o main main.cpp

É um aplicativo de linha de comando simples que não possui GUI.

    
por SarpSTA 26.12.2015 / 15:44

2 respostas

3

Se o seu aplicativo não tiver GUI (somente na saída do console), você não verá nada porque um terminal não está aberto ao clicar duas vezes em um executável no gerenciador de arquivos. No entanto, seu aplicativo deve ser executado em segundo plano.

Você pode executar o executável a partir de um shell existente chamando-o com ./path/to/executable

A segunda opção, mais complexa, seria criar um arquivo da área de trabalho para iniciar o aplicativo a partir do arquivo ex e configurá-lo para mostrar a saída do terminal.

Suponha que eu tenha um aplicativo muito simples, como

#include <iostream>
#include <stdlib.h>
int main() {
    std::cout << "hello bob" << std::endl;
    system("read moo"); // pause for input at the end.
    return 0;
}

E eu compilo com g++ foo.cpp , que por padrão gera um arquivo a.out .

Em seguida, basta criar um arquivo foo.desktop contendo

[Desktop Entry]
Type=Application
Name=Awesome App
Terminal=true
Exec=/path/to/a.out

qual deles pode então ser executável, então clique duas vezes no navegador de arquivos e veja a saída do terminal. É assim que os atalhos de aplicativos são criados nos menus e como eles podem ter um nome amigável e ícones.

    
por simpoir 26.12.2015 / 16:50
1

Tente executá-lo em um terminal. Se for um programa de linha de comando, você não poderá fazer muito apenas clicando duas vezes no executável em um gerenciador de arquivos. Execute o seguinte em um terminal:

cd /path/to/directory

Substituindo /path/to/directory pelo caminho para o diretório onde seu binário está;

sudo chmod +x binaryName

Para garantir que seu binário seja executável (substitua binaryName pelo seu nome);

./binaryName

Para executá-lo.

    
por Eduardo Cola 26.12.2015 / 15:56

Tags