VS2022 Cmake项目构建 Qt

一.创建文件和配置CMakeLists

1.创建头文件MainWindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
	class MainWindow;
}

class MainWindow : public QMainWindow
{
	Q_OBJECT

public:
	explicit MainWindow(QWidget* parent = nullptr);
	~MainWindow();

private:
	Ui::MainWindow* ui;
};

#endif // MAINWINDOW_H

2.创建源文件MainWindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <iostream>

MainWindow::MainWindow(QWidget* parent) :
	QMainWindow(parent),
	ui(new Ui::MainWindow)
{
	ui->setupUi(this);
}

MainWindow::~MainWindow()
{
	delete ui;
}

3.创建UI文件 MainWindow.ui (我这是空白的)

4.创建demomain.cpp

#include <QApplication>
#include <iostream>
#include "mainwindow.h"


int main(int argc, char* argv[]) {
	QApplication app(argc, argv);
	MainWindow mainWindow;
	mainWindow.show();
	std::cout << "in func main" << std::endl;
	return app.exec();
}

5.创建CMakeLists.txt

cmake_minimum_required(VERSION 3.8)

#set PROJECT_NAME and version
project(HelloWorld)
set(VERSION_MAJOR 0)
set(VERSION_MINOR 0)
set(VERSION_PATCH 1)

#set path for QT 选择自己安装Qt的路径
set(CMAKE_PREFIX_PATH C:/Qt/6.5.3/msvc2019_64)

# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed
set(CMAKE_AUTOMOC ON)
# Create code from a list of Qt designer ui files
set(CMAKE_AUTOUIC ON)

#find_package(Qt6 REQUIRED COMPONENTS Core Widgets Gui)
find_package(Qt6 REQUIRED COMPONENTS Widgets)
set(project_ui
	MainWindow.ui)

set(project_headers
	MainWindow.h)

set(project_sources
	demoMain.cpp MainWindow.cpp)

add_executable(${PROJECT_NAME} ${project_headers} ${project_ui} ${project_sources})

# Use the widgets module from Qt 6
target_link_libraries(${PROJECT_NAME}
	PUBLIC
	#Qt6::Core
	#Qt6::Gui
	Qt6::Widgets
)

二.使用VS打开并运行 

1.我的文件和位置

2.vs打开

 

 

可以选择生成的exe文件运行。 

三.总结

1.在Qt中创建的CMakeLists.txt文件在vs中是可以不修改直接使用的(vs有Qt插件,没插件时没试过)。如果报错的地方是没找到Qt6xxx.cmake什么的,记得加:set(CMAKE_PREFIX_PATH "C:/Qt/6.5.3/msvc2019_64");路径根据自己的来。

## 1.find_package(Qt6 REQUIRED COMPONENTS Widgets)
find_package()找的是.cmake文件,Qt6 的位置是可以通过set(Qt6_DIR "C:/Qt/6.5.3/msvc2019_64/lib/cmake/Qt6")来设置自己的Qt6文件所在的位置。
REQUIRED COMPONENTS 指必须要找到的后面指定的.cmake文件,找不到就报错

来自以下文章 

http://t.csdnimg.cn/I8EkQicon-default.png?t=N7T8http://t.csdnimg.cn/I8EkQ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值