(我不是英国人,所以如果我犯了任何语法错误就很抱歉)
我是Qt的新手,2天前开始,只有很少的WINAPI和MFC经验。 我在考虑......
首先,从其dll创建Qt GUI应用程序 其次,我的静态库文件(* .lib)将使用QLibrary调用此dll文件。 最后,我的控制台应用程序将拥有其lib及其头文件,并且dll将创建Qt GUI Application。
我的控制台应用程序没有.pro文件,只是在visual studio上创建的,只有.vcproj和.sln文件。
这是源代码: http://cfile239.uf.daum.net/attach/037B654151C4FF8D2D0EB7
我将dll,lib及其头文件复制到win32控制台应用程序中。 当我编译控制台时,我收到此错误消息。
致命错误C1083:无法打开包含文件:'QApplication':没有此类文件或目录
我知道这是绝对正确的。 (因为我的lib使用QLibrary,它的lib和头文件包含在win32控制台应用程序中..)
好吧,实际上我不想将包含QApplication类的.pro文件放到我的控制台应用程序中来解决这个问题。
是否有任何可能的方法来修复它,同时避免使用.pro文件? 或者我应该创建.pro并将其设置为具有QT库吗?
感谢您阅读。 :d
答案 0 :(得分:0)
您应该指明编译器Qt的路径。 如果您使用vs,请选择tools-> option->项目和解决方案,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;
}