【问题标题】:Setting up a Qt6 project in CLion with CMake使用 CMake 在 CLion 中设置 Qt6 项目
【发布时间】:2021-09-15 02:29:05
【问题描述】:

我正在尝试制作一个 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 库放在我的项目中或其他东西中,但我不知道将它们放在哪些或放在哪里,但我的 Qt 安装文件夹在 C:\Qt\ 中,如果这有帮助的话。

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

提前致谢!

【问题讨论】:

    标签: c++ qt cmake mingw clion


    【解决方案1】:

    经过进一步研究,我意识到我没有使用好的 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();
    }
    
    

    【讨论】:

      猜你喜欢
      • 2018-03-17
      • 1970-01-01
      • 2018-06-05
      • 2018-03-26
      • 2016-12-25
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      • 2021-11-26
      相关资源
      最近更新 更多