Como fazer um atalho para compilar e executar o arquivo cpp

1

Estou usando o Ubunru 15.04

GCC: 4.9.2

Eu costumo usar este comando para compilar meus arquivos cpp:

g++ /path/file.cpp -o /path/output

e é legal! então eu fiz isso em um atalho com

.desktop

formato de arquivo e torná-lo executável e funciona muito bem !!

agora eu preciso fazer um único atalho para compilar o arquivo cpp e executar a saída

Eu simplesmente tentei:

g++ file.cpp -o output && /output

mas isso não funcionou e deu Permissão negada ao tentar executar o arquivo .desktop no terminal

ebram96@ebram96-jj:~$ '/path/shortcut.desktop' 
/path/shortcut.desktop: line 1: [Desktop: command not found
/path/shortcut.desktop: line 2: run: command not found
/path/shortcut.desktop: line 3: /path/file.cpp: Permission denied

aqui está o meu arquivo .desktop :

[Desktop Entry]
Name=compile&run
Exec=g++ /path/code.cpp -o /path/output && /path/output
Terminal=true
Type=Application

Eu simplesmente tentei:

g++ file.cpp -o output && ./output

Eu tentei editar o arquivo / etc / sudoers adicionando essas linhas, mas também não funcionou:

my_username ALL = NOPASSWD: /path/shortcut.desktop

my_username ALL = NOPASSWD: /path/

my_username ALL = NOPASSWD: /same_shortcut_path/output
    
por Ebram Shehata 31.08.2015 / 10:06

2 respostas

0

Você não pode iniciar um arquivo da área de trabalho dessa maneira. Mova seu arquivo da área de trabalho para ~/.local/share/applications e use gtk-launch ou inicie-o via Unity / GNOME Shell ...

gtk-launch shortcut     # without any path or extension

No seu caso, um alias seria a melhor solução

Abra seu .profile em um editor

nano ~/.profile

adicione uma linha como esta

alias compile="g++ /path/to/your/foo.cpp -o /path/to/your/output && /path/to/your/output"

faça logout e faça login novamente ou use

source ~/.profile

Use o comando (alias) com um simples

compile
    
por A.B. 31.08.2015 / 10:40
0

Crie uma função bash (para adicionar seu .bashrc ou .zshrc ):

function run-c++ {
  if ! type "g++" > /dev/null; then
    sudo apt-get install g++
  fi
  g++ $1 -o /tmp/main.out && chmod +x /tmp/main.out && /tmp/main.out
}

Então você pode executar run-c++ ./whatever-path/to/program.cpp .

    
por Augustin Riedinger 20.06.2017 / 16:58