提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
对于qtcreator我有很多地方需要吐槽,很多设计我觉得真的可以好好参考下jetbrains,因为我从eclipse时代过来的,这个软件让我感觉比eclipse还难用。对比起来jetbrains的基于JVM的骚操作也不是那么难以接受了。
废话不多说,Clion配置Qt5除了form的功能没有(我没配出来),其它我感觉强过qtcreator,接下来有需要的小伙伴可以看下我的操作,假如你真的想这么用的话。
OS:Windows11 64bits
一、搭建环境
安装Clion不说了,安装Qt5也不说了,这两个是前提条件。我用的系统是Windows11,这个方法完全兼容Windows10,可能不太兼容Linux。
二、配置
我用的是这个版本,这个版本自带Qt5的条目,当你创建项目的时候你可以直接选创建Qt5项目,它会自动帮你配置好CmakeLists.txt文件,前提是你要告诉他你Qt5安装在哪里,我带你一步步设置。
三、创建项目
1.基本选择
主要是Qt5版本,std版本,Qt5
至少选std11
,Qt6
至少选std17
,今天演示Qt5。
Qt CMake prefix path:
这个是最关键的,因为我们直到Qt5项目可以使用多种工具链编译,比如:Android,VS,Mingw等等,所以你要告诉它你使用什么工具链。
Windows上我建议Mingw,因为我发现VS的语法更严格,有些代码跑不起来!
2.工具链
找到你的Qt5的安装目录中的版本目录(我的是5.15.2)
,我的是下面的路径:
每个人的环境不一样,我选的是mingw81_64
。选好后点OK
,开始配置项目。
Clion会自动帮你配置CmakeLists.txt文件而且有个示例代码:
cmake_minimum_required(VERSION 3.22)
project(Qt_Hello)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_PREFIX_PATH "D:/Work/Qt/5.15.2/mingw81_64")
find_package(Qt5 COMPONENTS
Core
Gui
Widgets
REQUIRED)
add_executable(Qt_Hello main.cpp)
target_link_libraries(Qt_Hello
Qt5::Core
Qt5::Gui
Qt5::Widgets
)
if (WIN32 AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
set(DEBUG_SUFFIX)
if (MSVC AND CMAKE_BUILD_TYPE MATCHES "Debug")
set(DEBUG_SUFFIX "d")
endif ()
set(QT_INSTALL_PATH "${CMAKE_PREFIX_PATH}")
if (NOT EXISTS "${QT_INSTALL_PATH}/bin")
set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..")
if (NOT EXISTS "${QT_INSTALL_PATH}/bin")
set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..")
endif ()
endif ()
if (EXISTS "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll")
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/")
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/")
endif ()
foreach (QT_LIB Core Gui Widgets)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"${QT_INSTALL_PATH}/bin/Qt5${QT_LIB}${DEBUG_SUFFIX}.dll"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>")
endforeach (QT_LIB)
endif ()
编译运行就行了。
总结
1、这种方法配置很简单,Clion会处理大部分工作,比如一些基础库地引用,如果使用其他库直接追加就行了
2、和atcreator基于qmake不同的是它是基于Cmake的,不过差别没那么大
3、不支持对form的直接设计,qtcreator是自带的功能