“Qt没有被正确安装,请运行make install““无效的Qt版本”的解决方法

Qt没有被正确安装,

请运行make install”

“无效的Qt版本”的解决方法

嗯,如果你遇到了这种情况,相信你的Qt版本是复制的吧。我也是这样的情况,本想自作聪明将Qt版本复制到了别的路径,却发现QtCreator不能识别。不过下面的办法可以帮你摆脱这样的困扰。也是我不久前研究出来的,核心是——修改可执行的qmake


遇到了如上图所示的情况,首先需要分析。为什么安装的时候不会出现这个问题,而我们改变路径的时候就出问题了?很简单,路径不对呗。我们看看可用的Qt版本的详情。


我们看到有很多有关QT的环境变量,于是我想去mkspecs文件夹搜索相关的环境变量。可是我去mkspecs文件夹搜索了好几遍,没有任何收获。这是什么原因呢?

原来Qt这一招真是高,安装Qt的时候编译了qmake,将相关路径内嵌入qmake代码中了,你说我们找了半天是不是一无所获!好了,俗话说“你高一尺,我高一丈”,我决定修改一下qmake可执行文件。

首先我们来看看qmake到底有什么。用QtCreator自带的二进制编辑器打开看看。


/home/jiangcaiyang/Programs/QtSDK是我安装时候的目录,可是我改变了它改为/home/jiangcaiyang/Programs/Qt4.8.4qmake就不工作了,难怪Qt的版本无效呢。

现在我们该修改一下了。等等QtCreator自带的二进制编辑器可是无法修改二进制文件的,还得我们自己下载编辑器。这里我们下载Ubuntu软件中心广受好评的bless二进制编辑器(需要的话可以到Ubuntu的软件中心中下载)。先将qmake备份一下,打开bless,载入qmakeCtrl+R准备替换。这里需要注意的是,如果你的路径字节数大于原来的路径字节数,那么需要删除后面几个填充的0,如果你的路径字节数小于原来的路径字节数,那么需要补充若干个0,这样才不至于出现段错误。我一开始就是出现了这样的错误呢。下面是我修改的界面:


改完之后保存或者另存为(如果另存为的话,那么新的qmake需要手动添加权限,使用chmod+x或者使用NautilusUbuntu自带的资源管理器)均可)。将新的qmake复制到/home/jiangcaiyang/Programs/Qt4.8.4/bin下,再在选项中重新载入,成功!


后记:这个办法也是不得已而为之的,因为我没怎么研究Qt是如何编译的,或许还会有更好的办法吧。不过呢,这样可以让我们不再拘泥于固定路径的Qt版本了,如果我们想打造自己的Qt便携式开发环境,那么相信我这个“土”方法一定会帮上忙的。

<think>嗯,用户遇到了Ubuntu下Qt没有正确安装的问题,提示需要运行make install。我需要先理清楚可能的原因,然后给出逐步的解决方案。 首先,用户可能是从源码编译安装Qt,但安装步骤可能没有正确完成。这时候需要检查是否执行了配置、编译和安装的完整流程。通常步骤是运行./configure,接着make,最后sudo make install。可能用户漏掉了最后一步,或者权限不足,导致安装不完整。 其次,权限问题也是一个常见因素。使用sudo命令来执行make install可以确保有足够的权限写入系统目录。需要提醒用户检查是否使用了sudo,或者是否指定了正确安装路径,比如--prefix选项。 另外,环境变量设置也很重要。安装完成后,Qt的路径可能需要添加到PATH或LD_LIBRARY_PATH中,否则系统找不到新安装的库。用户可能需要手动设置这些变量,或者运行ldconfig更新库缓存。 还有可能的问题包括依赖项缺失,导致编译或安装失败。这时候需要检查configure阶段的输出,看看是否有依赖库未安装,比如libxcb或其他开发包。建议用户安装这些依赖后重新配置和编译。 如果用户已经正确执行了所有步骤,但问题依旧存在,可能需要考虑是否安装正确Qt版本,或者是否有多个Qt版本导致冲突。这时候建议用户验证安装路径,检查二进制文件是否存在,并确认环境变量是否正确指向新安装Qt。 最后,如果所有步骤都正确,但问题仍未解决,建议用户提供更多错误信息,或者查阅Qt官方文档寻求帮助。可能需要更详细的日志来诊断问题所在。</think>当在Ubuntu系统中遇到"Qt没有正确安装运行make install"的提示时,通常意味着从源码编译Qt后未完成安装或环境配置不当。以下是分步解决方案: --- ### 一、验证安装流程完整性 1. **确认是否执行完整编译流程** - 正确顺序应为: ```bash ./configure # 配置编译选项 make -j$(nproc) # 编译代码(-j参数加速编译) sudo make install # 安装到系统目录 ``` - 若遗漏最后一步,会导致二进制文件未部署到系统路径 2. **检查权限问题** - 使用`sudo`提升权限: ```bash sudo make install ``` - 若需自定义安装路径,配置时需指定: ```bash ./configure --prefix=/your/custom/path ``` --- ### 二、配置环境变量 1. **添加Qt安装路径到环境变量** ```bash # 编辑bashrc文件 nano ~/.bashrc # 添加以下内容(假设安装路径为/opt/Qt5.15.2) export PATH="/opt/Qt5.15.2/bin:$PATH" export LD_LIBRARY_PATH="/opt/Qt5.15.2/lib:$LD_LIBRARY_PATH" # 使配置生效 source ~/.bashrc ``` 2. **更新动态链接库缓存** ```bash sudo ldconfig ``` --- ### 三、排查常见问题 1. **依赖项缺失** - 安装基础依赖: ```bash sudo apt-get install build-essential libgl1-mesa-dev libxkbcommon-dev libxcb-* ``` 2. **多版本冲突** - 使用`qmake --version`查看当前生效版本 - 通过`update-alternatives`管理多版本: ```bash sudo update-alternatives --config qmake ``` 3. **验证安装结果** - 检查关键文件是否存在: ```bash ls /usr/local/Qt-5.15.2/bin/qmake # 默认安装路径示例 which qmake # 显示当前使用的qmake路径 ``` --- ### 四、特殊场景处理 1. **非默认安装路径配置** ```bash # 配置项目时显式指定qmake路径 ./your_project/configure QMAKE=/custom/qt/path/bin/qmake ``` 2. **使用qtchooser工具** ```bash sudo apt install qtchooser qtchooser -install 5.15.2 /opt/Qt5.15.2/bin/qmake ``` --- ### 五、完整卸载重装(最终手段) ```bash # 进入源码目录 cd qt-everywhere-src-5.15.2 sudo make uninstall # 如果支持卸载 # 彻底删除残留文件 sudo rm -rf /opt/Qt5.15.2 # 重新执行完整安装流程 ``` --- ### 附:诊断命令 ```bash # 查看动态库链接情况 ldd /opt/Qt5.15.2/bin/qmake # 检查Qt版本信息 qmake -v # 查看相关环境变量 echo $PATH | tr ':' '\n' echo $LD_LIBRARY_PATH | tr ':' '\n' ``` 若问题仍未解决,建议: 1. 提供`config.log`和`make install`的完整输出 2. 查阅Qt官方文档:<https://doc.qt.io/qt-5/linux.html> 3. 检查系统日志:`journalctl -xe`
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值