0

(我不是英语母语,如果我犯了任何语法错误,请见谅)

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

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

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

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

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

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

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

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

有没有办法在避免拥有 .pro 文件的同时修复它?还是我应该创建 .pro 并将其设置为具有 QT 库?

感谢您阅读。:D

4

1 回答 1

0

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

创建.h

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

创建.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;
}
于 2013-06-22T09:20:56.387 回答