ubuntu下eclipse无法编译 /bin/sh: 1: g++ not found 解决办法

在Ubuntu12.04中使用CodeBlocks进行C++程序开发时遇到编译错误和运行时错误。通过安装GCC++解决了这些问题,确保了CodeBlocks能够正常编译和运行简单的hello world程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



linux下code::blocks无法编译运行提示 /bin/sh: 1: g++ not found 的解决办法

今天在ubuntu 12.04 软件中心中选装了codeblocks,安装完成后却连最简单的hello world 都无法编译运行。

ubuntu下codeblocks无法编译 /bin/sh: 1: g++ not found 解决办法 - 一块铁疙瘩 - 一块铁疙瘩
 
编译时提示
/bin/sh: 1: g++: not found
运行时总提示
It seems that this file has not been built yet.
Do you want to build it now?

因为系统没有装C++编译器

安装相应编译器即可解决此问题(依据系统软件安装方式):
(ubuntu下)
sudo apt-get install g++
(Fedora下安装)
sudo yum install gcc-c++

<think>我们正在解决Qt Creator编译时出现的错误:`/bin/sh: 1: usr/bin/g++-8: not found`。这个错误表明在编译过程中,系统试图调用`g++-8`编译器,但是没有找到它。根据引用[2]中的思路,我们可以尝试安装缺失的编译器或者调整Qt的构建套件配置。 ### 解决步骤 #### 1. **确认系统中是否安装了g++-8** 在终端中运行以下命令: ```bash g++-8 --version ``` 如果提示命令未找到,说明系统中没有安装g++-8。 #### 2. **安装g++-8(如果未安装)** 根据操作系统的不同,安装方式有所差异: - **Ubuntu/Debian**: ```bash sudo apt-get update sudo apt-get install g++-8 ``` - **CentOS/RHEL**: 首先启用EPEL仓库,然后安装: ```bash sudo yum install epel-release sudo yum install gcc-c++-8 ``` - **Arch Linux**: 使用pacman安装: ```bash sudo pacman -S gcc8 ``` 安装完成后,再次运行`g++-8 --version`确认安装成功。 #### 3. **检查g++-8的安装路径** 安装后,通常`g++-8`位于`/usr/bin/g++-8`。可以通过以下命令确认: ```bash which g++-8 ``` 输出应该是`/usr/bin/g++-8`。 #### 4. **在Qt Creator中配置构建套件** 1. 打开Qt Creator,进入`工具` -> `选项` -> `Kits` -> `构建套件(Kit)`。 2. 在左侧选择当前项目使用的构建套件(例如"Desktop Qt 5.x.x GCC")。 3. 在右侧的`编译器`部分,检查C++编译器是否设置为`g++-8`。如果未设置,点击下拉框选择`GCC (x86 64bit in /usr/bin)`,然后点击旁边的`管理`按钮(或直接在下拉框中选择已有的g++-8编译器配置)。 4. 如果下拉列表中没有g++-8,需要手动添加: - 进入`编译器`选项卡,点击`添加` -> `GCC` -> `C++`。 - 名称填写`GCC 8 (x86_64)`。 - 编译器路径填写`/usr/bin/g++-8`。 5. 返回构建套件配置,将C++编译器设置为刚刚添加的`GCC 8 (x86_64)`。 6. 同时,确保`调试器`和`Qt版本`也正确配置。 7. 点击`应用` -> `确定`。 #### 5. **重新构建项目** 在Qt Creator中,执行`构建` -> `重新构建项目`。 #### 6. **如果问题依旧,检查环境变量** 有时,即使安装了g++-8,Qt Creator可能没有获取到正确的环境变量。可以尝试: - 在终端中启动Qt Creator,这样它会继承终端的环境变量: ```bash qtcreator ``` - 或者在Qt Creator的项目设置中,在`构建环境`部分添加必要的环境变量(如`PATH`),确保包含`/usr/bin`。 #### 7. **创建符号链接(如果必要)** 如果系统中已经安装了其他版本的g++(例如g++-9),而你想使用g++-8,可以创建一个符号链接: ```bash sudo ln -s /usr/bin/g++-8 /usr/bin/g++ ``` 这样,当编译时调用`g++`就会使用g++-8。但注意,这可能会影响其他项目。 ### 相关问题 1. 如何在同一系统中安装多个版本的GCC编译器? 2. Qt Creator中如何切换不同的构建套件? 3. 如何为Qt项目指定自定义的编译器路径? 4. 在Linux下如何设置默认的GCC版本? [^1]: 引用[1]提到Qt编译时出现语法错误,可能是由于环境配置问题。 [^2]: 引用[2]中解决`stddef.h`缺失的方法,通过安装开发包解决,类似地,我们通过安装编译器解决缺失问题。</think>### 解决 Qt Creator 编译错误 `/bin/sh: 1: usr/bin/g++-8: not found` #### 一、问题原因分析 该错误表明 Qt Creator 无法找到 g++-8 编译器,通常由以下原因引起: 1. **编译器未安装**:系统中未安装 g++-8 编译器包 [^2] 2. **路径配置错误**:Qt Kit 配置的编译器路径不正确 3. **符号链接缺失**:编译器未链接到标准路径(如 `/usr/bin`) 4. **环境变量问题**:PATH 环境变量未包含编译器目录 #### 二、解决步骤 ##### 1. 安装 g++-8 编译器 ```bash # Ubuntu/Debian 系统 sudo apt update sudo apt install g++-8 # CentOS/RHEL 系统 sudo yum install gcc-c++-8 ``` ##### 2. 验证安装路径 ```bash # 检查编译器是否存在 ls -l /usr/bin/g++-8 # 检查编译器版本 g++-8 --version ``` ##### 3. 在 Qt Creator 中配置编译1. 打开 Qt Creator → 工具 → 选项 → Kits → 编译器 2. 添加新的 GCC 编译器: - 名称:`GCC 8 (x86_64)` - 路径:`/usr/bin/g++-8` 3. 保存设置 ##### 4. 配置构建套件 (Kit) 1. 进入 Kits 选项卡 2. 选择当前使用的 Kit(如 "Desktop Qt") 3. 在 "编译器" 部分: - C:选择 `/usr/bin/gcc-8` - C++:选择 `/usr/bin/g++-8` 4. 点击 "应用" ##### 5. 修复符号链接(如必要) ```bash # 创建符号链接 sudo ln -s /usr/bin/g++-8 /usr/bin/g++ # 验证链接 ls -l /usr/bin/g++ ``` ##### 6. 检查环境变量 确保 PATH 包含编译器路径: ```bash # 查看当前 PATH echo $PATH # 若缺少 /usr/bin,添加到 .bashrc 或 .zshrc echo 'export PATH="/usr/bin:$PATH"' >> ~/.bashrc source ~/.bashrc ``` #### 三、验证修复 1. 重新启动 Qt Creator 2. 执行以下操作: - 清理项目:构建 → 清理所有项目 - 重新构建:构建 → 重新构建项目 3. 检查编译日志: - 应显示类似 `Using compiler: /usr/bin/g++-8` 的信息 - 错误信息应消失 #### 四、替代方案 如果无法安装 g++-8: 1. **使用系统默认编译器**: ```bash sudo update-alternatives --config g++ ``` 2. **修改 Qt 项目配置**: 在 `.pro` 文件中添加: ```qmake QMAKE_CXX = g++ ``` > **重要提示**: > - 确保 Qt 版本与编译器兼容(如 Qt 5.x 建议使用 g++ ≤ 8) > - 若出现 `stddef.h not found` 错误,执行: > ```bash > sudo apt-get install libclang-common-8-dev # [^2] > ``` #### 五、相关问题 1. 如何检查 Qt 项目使用的实际编译器路径? 2. 当系统同时存在多个 GCC 版本时,如何管理默认版本? 3. Qt Creator 提示 `uic.exe: command not found` 如何解决? [^3] 4. Linux 下如何修复 `libxcb-util.so.1: not found` 错误? [^4] [^1]: 类似环境配置问题可能导致编译中断 [^2]: 编译器相关依赖缺失可通过安装开发包解决 [^3]: 工具链路径配置错误是常见问题原因 [^4]: 共享库缺失问题需针对性安装依赖包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值