ubuntu下安装报错Could not read qmake configuration file /opt/QT5.14.2/5.14.2/android/mkspecs/android-clang/qmake.conf.

QT安装使用报错,以及重新安装cmake

Posted by ThreeStones1029 on November 17, 2023

[TOC]

一、前言

最近需要做一个QT界面,在安装过后,新建项目QT Widgets Application会报错,选用cmake会报错:

Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.
Could not read qmake configuration file /opt/QT5.14.2/5.14.2/android/mkspecs/android-clang/qmake.conf.
Running /usr/bin/snap /home/***/Desktop/test -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_CXX_COMPILER:STRING=/usr/bin/g++ -DCMAKE_C_COMPILER:STRING=/usr/bin/gcc -DCMAKE_PREFIX_PATH:STRING=/opt/QT5.14.2/5.14.2/gcc_64 -DQT_QMAKE_EXECUTABLE:STRING=/opt/QT5.14.2/5.14.2/gcc_64/bin/qmake in /home/***/Desktop/build-test-Desktop_Qt_5_14_2_GCC_64bit-Debug.
error: unknown command "/home/***/Desktop/test", see 'snap help'.
我的环境:ubuntu20.04  QT5.14.2

二、问题分析

主要发现的后面提示==“snap help”==,很诧异,为什么会提示这个,然后查看==Tools–>Options–>Kits–>CMak==e发现我的cmake是通过snap安装的。通过这个安装会带来路径和权限问题,所以解决方法就很简单了。

三、问题解决

卸载snap安装的cmake,同时手动安装cmake

3.1.卸载snap的cmake

sudo snap remove cmake

在安装之前还需要看看有没有其余方式安装的cmake,例如apt安装的以及手动安装编译的版本。如果不卸载干净有可能导致版本混乱报错,所以最好卸载干净。

可以运行cmake –version ccmake –version cmake-gui which cmake查看是否有没有卸载的版本

3.2.重新安装cmake(三种方式)

3.2.1.ubuntu apt安装

sudo apt-get update
sudo apt install cmake
sudo apt-get install -y build-essential

省事但版本比较老,不过对于版本没有需求其实也够用

3.2.2.去官网下载编译好的包

直接下载二进制包的话,官网链接:https://cmake.org/files/

进入选择需要下载的版本,示例选择的是==cmake-3.24.0-linux-x86_64.tar.gz==

解压并添加软连接:

tar -zxvf cmake-3.24.0-linux-x86_64.tar.gz
sudo ln -s 你的解压根目录/cmake-3.24.0-linux-x86_64/bin/cmake /usr/bin/cmake

如果提示已经存在则删除老版本

rm /usr/bin/cmake

测试

cmake --version

正常输出版本号即可

确定就是没有cmake-gui

3.2.3.下载源文件编译

如果想可以运行cmake-gui,想要图形化界面可以下载包自己编译

下载带有==rc==的包,以cmake-3.27.0-rc1.tar.gz为例

同样先解压

tar -zxvf  cmake-3.27.0-rc1.tar.gz

建立build文件

cd cmake-3.27.0-rc1/build

编译cmake和cmake-gui(前提已经安装了qt)

../bootstrap --qt-gui
make -j$(nproc) #-j$(代表)电脑核数,不写写行,加了编译更快点
sudo make install

验证

cmake --version
cmake-gui

3.3.4.新建QT项目

发现build完就能run,bug解决。