qt-初步编译运行报错-When executing step “Make“-无法启动进程“make“

现象

原因

缺少了make编译器,或者缺少相关依赖库。对应的编译器安装时,需要仔细检查是否存在没有安装的依赖库,否则会导致make过程出问题。作者时因为没有安装lsb-core依赖。

  • 确认LSB模块必要性
    • 无需强制安装:Ubuntu 20.04默认显示"No LSB modules are available"属正常现象,仅当运行依赖LSB的老旧商业软件或编译脚本显式要求时才需处理。

正常来讲高版本都是适用低版本的,因此找到高版本依赖,也是有效的!

解决Qt编译核心问题

关键错误:无法启动进程"make" -f /home/yys/project/55/release/Makefile qmake_all

  • 步骤1:安装编译依赖
shell 复制代码
sudo apt update
sudo apt install build-essential libglu1-mesa-dev  # 确保make和OpenGL库
  • 步骤2:检查Qt构建套件配置
    • 路径验证:
      bashwhich make # 应返回/usr/bin/make
      ls -l /home/yys/app/qt/AnZhuang/5.12.9/gcc_64/bin/qmake # 验证qmake路径
    • Qt Creator配置:
    • 确保Kit中编译器路径指向正确GCC(如/usr/bin/g++)
    • 确认Qt版本匹配项目要求(5.12.9)
  • 步骤3:检查项目配置文件
    • .pro文件审查:
shell 复制代码
makefile# 示例:确保包含必要模块和路径
QT += core gui widgets
INCLUDEPATH += /path/to/custom/headers
LIBS += -L/path/to/libs -lfoo

使用qmake -query检查Qt变量配置

执行make clean后重新运行qmake

软件源优化

替换为国内镜像源(如中科大):

bash 复制代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list

替换内容为:

bash 复制代码
plaintextdeb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

执行更新:

bash 复制代码
sudo apt update && sudo apt upgrade

4️⃣ 最终验证

bash 复制代码
# 重新生成Makefile
cd /home/xxx/project/55
qmake -makefile

解决展示

相关推荐
benchmark_cc12 分钟前
REST API 和 Python SDK 应该怎么选?量化交易数据接口选型实战
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
王的宝库16 分钟前
Go 项目结构:从单文件到标准工程布局
开发语言·后端·golang
Tairitsu_H20 分钟前
[C++] 深入理解红黑树:封装set与map
开发语言·c++·set·map·红黑树·模拟实现
泡海椒35 分钟前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
小智老师PMP1 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
_林枭_1 小时前
ZW3D二次开发_原生表单_如何设置表单左上角图标
qt·zw3d
江畔柳前堤2 小时前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native
Figo_Cheung2 小时前
Figo基于RNC理论的宇宙演化第七纪元猜想
开发语言·php
泡海椒3 小时前
JQuick-Curl 二次开发:自定义解析器、扩展点开发指南,如何把框架能力真正变成团队资产
java·开发语言·okhttp·maven
WWJA王文举4 小时前
FreeRTOS事件组和任务通知详解:为什么任务通知比队列更轻量?
开发语言·php