Как сделать один ярлык, чтобы скомпилировать и выполнить cpp файл

Я использую Ubunru 15.04

GCC: 4.9.2

Я обычно использую эту команду для компиляции моих cpp файлов:

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

и это прохладно! таким образом, я превратил это в ярлык с

.desktop

формат файла и делает это исполняемым файлом, и это работает просто великолепно!!

теперь я должен сделать единственный ярлык, чтобы скомпилировать cpp файл и выполнить вывод

Я просто попробовал:

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

но это не работало и предоставление Разрешения, Отклоненного, когда я пытаюсь выполнить .desktop файл в терминале

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

вот мой .desktop файл:

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

Я просто попробовал:

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

Я пытался редактировать/etc/sudoers файл, добавляющий эти строки, он также не работал:

my_username ALL = NOPASSWD: /path/shortcut.desktop

my_username ALL = NOPASSWD: /path/

my_username ALL = NOPASSWD: /same_shortcut_path/output
1
задан 31 August 2015 в 11:35

3 ответа

Вы не можете запустить файл на рабочем столе таким образом. Переместите свой файл на рабочем столе в ~/.local/share/applications и используйте gtk-launch или запустите его через Единицу/GNOME Shell...

gtk-launch shortcut     # without any path or extension
<час>

В Вашем случае, псевдоним был бы лучшим решением

, Открывают Ваш .profile в редакторе

nano ~/.profile

, добавляет строка как это

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

выход из системы и перевход в систему или использует

source ~/.profile

Использование команда (псевдоним) с простым

compile
0
ответ дан 28 July 2019 в 18:12

Создайте функцию удара (для добавления в Вашем .bashrc или .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
}

Затем можно работать run-c++ ./whatever-path/to/program.cpp.

0
ответ дан 28 July 2019 в 18:12

Попробуйте добавить следующее в ваш файл ~/.bashrc:

cr(){
    if [ "$#" -ne 1 ]; then
        echo "Usage: cr <file.cpp>"
    else
        name=$(echo $1 | cut -f 1 -d '.')
        g++ $1 -o name; ./name
    fi
}

Это создает псевдоним, который можно запустить с терминала.

Имя функции/команды, т.е. cr, можно заменить, если хотите.

Выполнить: cr file.cpp

1
ответ дан 28 April 2020 в 07:57

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

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