我正在使用 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
。