C++调用Qt库

环境:VS2017,Qt5.12.10(安装了msvc2017组件,并添加环境变量

准备环境
1.使用vs2017新建一个C++ DLL项目 DLLNativeApp__(或其他项目,例如控制台项目)。
2.找到Qt的头文件,我的路径是 C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\include
3.找到Qt的静态库文件,我的路径是 C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\lib
4.右键点击项目DLLNativeApp__,选择 属性 → C/C++ → 常规 → 附加包含目录,输入C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\include,应用。
5.右键点击项目DLLNativeApp__,选择 属性 → 链接器 → 常规 → 附加库目录,输入C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\lib,应用。
6.点击确定,完成属性设置。
7.右击项目 DLLNativeApp__ 下的资源文件 → 添加 → 现有项 ,导航到C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\lib,全选,添加。

测试
添加QtAddOn_1.h

#pragma once
#include 
#include 
class QtAddOn_1:public QDialog
{
	Q_OBJECT
private:
	QApplication* app;
public:
	explicit QtAddOn_1();
};


打开cmd,导航到 QtAddOn_1.h所在位置,在cmd中输入 moc QtAddOn_1.h -o moc_QtAddOn_1.app,用来生成编译Qt程序需要的moc文件。

添加QtAddOn_1.cpp

#include "pch.h"
#include "QtAddOn_1.h"
QtAddOn_1::QtAddOn_1() {
	int argc;
	char ** argv = nullptr;
	app = new QApplication(argc, argv);

	//做一些Qt能做的所有事

	app->exec();
}
#include"moc_QtAddOn_1.app"

编译,通过。

需要注意的是,添加每个Qt的头文件都需要给出较为完整的路径,例如#include ,而不是#include < QApplication >。
另外控制台程序也是可以正常运行的,包括界面,事件循环,信号与槽等等。

你可能感兴趣的:(Qt5.9,visual,studio,c++,qt)