You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Mint20下CodeBlocks运行Hello World程序报错(进程状态-1)

解决Linux Mint 20下CodeBlocks运行C++程序返回状态-1的问题

先确认你的代码本身没有语法问题:

#include <iostream> 
using namespace std; 
int main() { 
    int a {}; 
    a = 10; 
    cout << "Hello world!" << a << endl; 
    return 0; 
}

从你给出的错误信息来看:

-------------- Run: Debug in First (compiler: GNU GCC Compiler)---------------
Checking for existence: /home/oem/CPlus/First/bin/Debug/First
Set variable: LD_LIBRARY_PATH=.:
Executing: xterm -T First -e /usr/bin/cb_console_runner LD_LIBRARY_PATH=:. /home/oem/CPlus/First/bin/Debug/First (in /home/oem/CPlus/First/.)
Process terminated with status -1 (0 minute(s), 0 second(s))

这个问题的核心是CodeBlocks默认调用的xterm终端在你的系统中可能未安装,或者终端配置不兼容,导致程序无法正常启动终端输出结果。下面是两种可行的解决办法:

方案1:安装xterm终端

Linux Mint 20默认并没有预装xterm,CodeBlocks尝试调用它时直接失败,才会返回状态-1。你可以通过以下命令安装xterm:

sudo apt update && sudo apt install xterm

安装完成后,重启CodeBlocks再运行你的程序,应该就能正常看到"Hello world!10"的输出了。

方案2:修改CodeBlocks终端配置为系统默认终端

如果你不想额外安装xterm,可以把CodeBlocks的终端设置改成Linux Mint默认的终端(不同桌面环境对应不同终端,以下是常见情况):

  1. 打开CodeBlocks,点击顶部菜单栏的Settings -> Environment
  2. 在左侧列表选择General settings,找到右侧的Terminal to launch console programs选项
  3. 将原来的命令:
    xterm -T $TITLE -e
    
    根据你的桌面环境替换成对应命令:
    • Cinnamon桌面:gnome-terminal --title="$TITLE" --execute
    • MATE桌面:mate-terminal --title="$TITLE" -x
    • XFCE桌面:xfce4-terminal --title="$TITLE" -x
      或者也可以用通用的终端调用命令,自动适配系统默认终端:
    x-terminal-emulator -e
    
  4. 点击OK保存配置,重启CodeBlocks后再运行程序即可。

内容的提问来源于stack exchange,提问作者Zuo Zou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 23:52:49