在CLion里面使用QT
1.打开CLion 新建Qt QWidget 项目
.2.为项目选择Qt Tools 目录下的 CMake_64 构建工具
如果该文件不存在,说明QT下载时未安装
打开Qt安装工具进行添加 Qt-> MaintenanceTool.exe
3. 为项目选择编译工具
指定Toolset目录,红框会自动选择
4. 设置Cmake配置文件CMakeLists.txt
Tips:CMakeLists配置受命令顺序影响,笔者还不熟悉,请尽可能保持顺序一致
cmake_minimum_required(VERSION 3.21) project(项目名) # set(CMAKE_CXX_STANDARD 14) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_PREFIX_PATH F:/C++/QT/5.12.2/mingw73_64) #这里需要填入自己安装的路径 #选择的是编译器,这个编译器是你下的qt版本里面的编译器,设置这个后,你就可以在CLion导入你qt库里的内容了 find_package(Qt5 COMPONENTS Core REQUIRED) add_executable(项目名 main.cpp) #参数1 为你的项目名 后面为你的cpp文件列表,每个cpp都会自动添加进去 target_link_libraries(mysql Qt5::Core ) qt5_use_modules(项目名 Core Widgets Gui Sql) #参数1为项目名,后面为你需要使用到的库 #以下为自动生成的32位系统的配置,64位可省略 #if (WIN32) # set(DEBUG_SUFFIX) # if (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) # 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 ()
5… 添加环境变量
F:\C++\QT\5.12.2\mingw73_64\bin
(如在Clion使用局部环境变量请注意别覆盖了,应该是添加)
在CLion里面使用Qt连接远程/本地 mysql服务器
前提条件:需要Qt5.x(我的是5.2)版本,最新版的6.xx将自带的mysql驱动移出去了(好像是因为要优先提供开源支持,Mysql没有开源)--------->如果想用新版本,可以将旧版本的驱动移到新版本;
1.应该需要一个本地的mysql(压缩包/或安装好的程序)
笔者的本意是连接linux服务器器上的mysql ,但因为服务器是租的1核心的,安装不了最新版本,所以出了很多问题; 用C++连接mysql,需要mysql的两个文件 libmysql.dll and libmysql.lib 路径:你的mysql服务器根目/lib/xx (请注意,如果你是要连接服务器上的mysql,请保证服务器上的mysql和这两个libmysql的版本一致)可去官网下载旧版本 将这两个文件放到你的qt编译器/bin目录下 我的是F:\C++\QT\5.12.2\mingw73_64\bin
2.使用
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("42.193.44.121"); db.setPort(3306); db.setDatabaseName("pre_epidemic"); db.setUserName("chenhonxin"); db.setPassword("C963258741"); bool ok = db.open(); if (ok){ cout<<"ok"; } else { cout<<"failed"; qDebug()<<"error open database because"<<db.lastError().text(); } ###连接 void connect(){ QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("ip地址"); 本地:127.0.0.1 服务器:ip地址 db.setPort(3306); db.setDatabaseName("数据库名"); db.setUserName("用户名"); db.setPassword("密码"); bool ok = db.open(); if (ok){ cout<<"ok"; } else { cout<<"failed"; qDebug()<<"error open database because"<<db.lastError().text(); } }