2013-06-22 57 views
0

(我不是母语英语,所以很抱歉,如果我犯了任何语法错误)如何从win32控制台应用程序调用dll创建Qt GUI应用程序?

我是Qt的新手,2天前开始,只有很少的WINAPI和MFC的经验。 我想...

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

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

这里是源代码: http://cfile239.uf.daum.net/attach/037B654151C4FF8D2D0EB7

我复制的dll,lib和其头文件到其Win32控制台应用程序。 当我编译控制台时,我收到此错误消息。

致命错误C1083:无法打开包含文件:'QApplication的:没有这样的文件或目录

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

好吧,其实我不想让包含QApplication类的.pro文件进入我的控制台应用程序来解决这个问题。

是否有任何可能的方法来解决它,同时避免有.pro文件? 还是应该创建.pro并将其设置为具有QT库?

谢谢您的阅读。 :D

+0

http ://qtitkvtkhelp.blogspot.in/p/qt.html HTH使用qmake来创建.pro希望你有qt加入visual studio –

回答

0

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

create.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(); 
}; 

在你的控制台程序:

.cpp文件:

#include "stdafx.h" 
#include "create.h" 
#pragma comment(lib,"CreaeQt.lib") 

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

createQt(argc,argv); 

return 0; 
} 
相关问题