Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从win32控制台应用程序调用的dll创建Qt GUI应用程序?_Qt_Winapi_User Interface_Mfc - Fatal编程技术网

如何从win32控制台应用程序调用的dll创建Qt GUI应用程序?

如何从win32控制台应用程序调用的dll创建Qt GUI应用程序?,qt,winapi,user-interface,mfc,Qt,Winapi,User Interface,Mfc,(我不是英语母语,如果我犯了语法错误,我很抱歉) 我是Qt新手,两天前开始学习,对WINAPI和MFC的使用经验很少。 我在想 首先,从其dll创建QtGUI应用程序 其次,我的静态库文件(*.lib)将使用QLibrary调用此dll文件。 最后,我的控制台应用程序将有它的lib和头文件,以及用来创建Qt-GUI应用程序的dll 我的控制台应用程序没有.pro文件,它只是在visual studio上创建的,只有.vcproj和.sln文件 以下是源代码: 我将dll、lib及其头文件复制到

(我不是英语母语,如果我犯了语法错误,我很抱歉)

我是Qt新手,两天前开始学习,对WINAPI和MFC的使用经验很少。 我在想

首先,从其dll创建QtGUI应用程序 其次,我的静态库文件(*.lib)将使用QLibrary调用此dll文件。 最后,我的控制台应用程序将有它的lib和头文件,以及用来创建Qt-GUI应用程序的dll

我的控制台应用程序没有.pro文件,它只是在visual studio上创建的,只有.vcproj和.sln文件

以下是源代码:

我将dll、lib及其头文件复制到其win32控制台应用程序中。 当我编译控制台时,我得到这个错误消息

致命错误C1083:无法打开包含文件:“QApplication”:没有此类文件或目录

我知道这是绝对正确的。(因为我的库使用QLibrary,它的库和头文件包含在win32控制台应用程序中..)

实际上,我不想在控制台应用程序中包含QApplication类的.pro文件来解决这个问题

在避免使用.pro文件的同时,是否有任何可能的方法来修复它? 或者我应该创建.pro并将其设置为具有QT库


谢谢你的阅读D

您应该指出编译器Qt的路径。 如果使用vs,请选择工具->选项->项目和解决方案、VC++目录,设置Qt头文件路径、库路径、bin路径,并将Qt的bin路径设置为环境变量路径。 在静态库项目中,尝试以下操作:

创建.h

#pragma once
void createQt(int argc, char* argv[]);
create.cpp

#include<QtGui/QWidget>
#include<QtGui/QApplication>
#include "create.h"
#pragma  comment(lib,"qtguid4.lib")
void createQt(int argc, char* argv[])
{
QApplication app(argc,argv);

QWidget w;
w.show();
app.exec();
};
HTH使用qmake创建.pro希望您有用于visual studio的qt加载项
 #include "stdafx.h"
 #include "create.h"
#pragma comment(lib,"CreaeQt.lib")

int main(int argc, char* argv[])
{

createQt(argc,argv);

return 0;
}