到目前为止,我已经在控制台工作,几天前决定尝试QT GUI。 我下载了QT SDK,安装它,调整QT的位置和 设置PATH环境变量 - >根据网站上的说明。
我在Code :: Blocks-in中打开了一个新的Qt4项目,似乎一切正常。 默认情况下有一个示例:
#include <QApplication>
#include <QFont>
#include <QPushButton>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton quit("Quit");
quit.resize(75, 30);
quit.setFont(QFont("Times", 18, QFont::Bold));
QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));
quit.show();
return app.exec();
}
开始吧一切都好。
之后我去了官方网站的教程,最后一个例子。 某种简单的游戏。我已经完成了所有.h和.cpp文件的复制粘贴然后放入 他们在当前项目中看看它是如何工作的,但随后出现了问题。
Code :: Blocks无法识别某些类。 例如:: #include QTimer:没有这样的文件或目录 #include QRect:没有这样的文件或目录
我卸载了QT并重新安装并重新配置了所有内容,但问题并未解决。
这些类不起作用,也不在默认示例::
中#include <QApplication>
#include <QFont>
#include <QPushButton>
#include <QTimer> does not have real purpose , just for illustration
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton quit("Quit");
quit.resize(75, 30);
quit.setFont(QFont("Times", 18, QFont::Bold));
QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));
quit.show();
return app.exec();
}
ba \ 107 \ main.cpp | 4 | QTimer:没有这样的文件或目录| || ===构建完成:1个错误,0个警告=== |
我现在没有多少课程正常工作,这只是其中的一部分。
不要在Google上寻找解决方案几天来热水,也许对于你们中的一些人来说 ,这是一个非常简单的问题。
由于
答案 0 :(得分:1)
您需要花时间使用默认包含搜索路径进行修改,或者只是提供要包含的标头的更明确的路径。我能够在Windows XP / 32和以前安装的Qt 4.6上使用Code :: Blocks 10.05(带有捆绑的gcc)重现您的问题。这是我能够构建的代码略有变化的版本,没有任何问题:
#include <QApplication>
#include <QFont>
#include <QPushButton>
#include <QtCore/QTimer>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton quit("Quit");
quit.resize(75, 30);
quit.setFont(QFont("Times", 18, QFont::Bold));
QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));
quit.show();
return app.exec();
}
查看您的Qt安装目录。如果您遇到任何其他标头的问题,您将能够看到包含目录,以及所有标头所在的位置。看起来Code :: Blocks项目默认将QtGui目录设置为包含搜索路径,这就是为什么你不需要明确提及它包含QPushButton等等。
答案 1 :(得分:0)
Code :: Blocks只是一个IDE而不是编译器/链接器工具链,因此不能找到文件的Code :: block,你根本没有配置项目来使用它们。
“没有这样的文件或目录”是预处理器错误消息;你仍然需要告诉编译器在哪里找到你的第三方头文件。此外,在链接时,您需要告诉链接器在哪里找到库。
答案 2 :(得分:0)
每当你有#include <blah>
(带角度括号<>
)时,编译器会查看默认的包含路径。您需要将Qt include目录放入项目的包含路径中。我不确定在Code :: Blocks中是如何完成的。它可能在项目设置中的某个位置。