【发布时间】:2022-01-16 05:29:13
【问题描述】:
我正在尝试编译 QT 代码,但由于某种原因,编译器抱怨即使我在 makefile 中指定了包含文件的路径,它也找不到包含文件
asd.cpp
#include <QtWidgets/qtwidgetsglobal.h>
int main(int argc, char **argv)
{
}
编译命令
g++ -I. -I/home/marti/Qt/6.2.2/gcc_64/include/QtCore -I/home/marti/Qt/6.2.2/gcc_64/include/QtGui -I/home/marti/Qt/6.2.2/gcc_64/include/QtWidgets -c asd.cpp -o out/asd.o
错误
asd.cpp:1:10: fatal error: QtWidgets/qtwidgetsglobal.h: No such file or directory
1 | #include <QtWidgets/qtwidgetsglobal.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如您所见,我已指定QtWidgets..的路径。我不知道为什么找不到QtWidgets/qtwidgetsglobal.h
【问题讨论】:
-
试试
#include <qtwidgetsglobal.h> -
如果您尝试使用
#include <QtWidgets/qtwidgetsglobal.h>,那么编译器选项可能应该是-I/home/marti/Qt/6.2.2/gcc_64/include。但是请注意,qtwidgetsglobal.h不是记录在案的标头。相反,您应该指定所需的真实标题。 -
@G.M.哦,是的..我真的应该改成
-I/home/marti/Qt/6.2.2/gcc_64/include,这样就可以了。谢谢! -
或使用适当的构建系统,例如qmake 或 cmake,它们以更理智的方式添加这些包含和库。