如何创建一个快捷方式来编译和执行cpp文件

如何创建一个快捷方式来编译和执行cpp文件

我正在使用 Ubunru 15.04

海湾合作委员会: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 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

尝试将以下内容添加到您的~/.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

答案2

您无法通过这种方式启动桌面文件。将您的桌面文件移入~/.local/share/applications并使用gtk-launch或通过 Unity/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

答案3

创建一个 bash 函数(添加到您的.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

相关内容