首页 > 解决方案 > 使用 CMake 在 CLion 中设置 Qt6 项目

问题描述

我正在尝试制作一个 Qt6 应用程序,但是我不太喜欢 qtcreator,所以我想在 CLion 中工作。我一直在尝试使用 CMake 配置我的项目,但我对这一切有点陌生,即使我在 jetbrains 网站上遵循了这个“教程”,我也被困住了:https ://www.jetbrains.com/help/clion /qt-tutorial.html#configure-cmakelists

这是我的 CMakeList.txt 文件:

cmake_minimum_required(VERSION 3.19)
project(VidShare)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_PREFIX_PATH  "C:/Qt/6.1.1/mingw81_64/lib/cmake/")

find_package(Qt6Widgets REQUIRED)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

add_executable(VidShare main.cpp)
target_link_libraries(VidShare Qt6::Widgets)

这是我的项目结构:

Vidshare
  \--cmake-build-debug   # This was generated by CLion itself
  \--src                 # Currently empty
  CMakeList.txt
  main.cpp

当我单击构建时,我收到以下消息:

CMake Error at CMakeLists.txt:9 (find_package):
  Could not find a configuration file for package "Qt6Widgets" that is
  compatible with requested version "".

  The following configuration files were considered but not accepted:

    C:/Qt/6.1.1/mingw81_64/lib/cmake/Qt6Widgets/Qt6WidgetsConfig.cmake, version: 6.1.1 (64bit)

就像我说的我是 cmake 的新手,所以这可能是一些愚蠢的错误,但我已经做了太久了,我的研究并没有真正把我带到任何地方。我在 Windows 10 上使用 minGW,但我怀疑这是目前的问题。我还认为也许我必须将 Qt 库放在我的项目或其他东西中,但我不知道将它们放在哪些或放在哪里,但C:\Qt\如果这有帮助,我的 Qt 安装文件夹就在其中。

基本上我想要的是设置我的环境以便能够在 CLion 中使用 qt6 ..

提前致谢!

标签: c++qtcmakemingwclion

解决方案


经过进一步研究,我意识到我没有使用好版本的 MinGW(因此出现错误消息)。我下载了 64 位版本的 MinGW 并尝试使用该编译器本身并正确构建了项目。此外,我遇到了一个问题,它可以正常编译但不能运行并返回错误代码。我必须将 Qt 二进制文件放在我的系统路径变量 ( C:\Qt\6.1.1\mingw81_64\bin) 中,然后我可以使用以下测试代码正确显示一个窗口:

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);
    QLabel label("Hi babygurl!", nullptr);
    label.resize(200, 100);
    label.show();
    return QApplication::exec();
}


推荐阅读