我有一些以前编写的标题,我想将它们包含在我的 Qt 项目中。如果不将它们复制到位,我怎么能做到这一点?
在我使用“添加现有文件...”添加它们之后,我似乎无法#include 我的标题。#include "header.h" 和 #include "fullpath/header.h" 都不起作用。
我有一些以前编写的标题,我想将它们包含在我的 Qt 项目中。如果不将它们复制到位,我怎么能做到这一点?
在我使用“添加现有文件...”添加它们之后,我似乎无法#include 我的标题。#include "header.h" 和 #include "fullpath/header.h" 都不起作用。
INCLUDEPATH
您必须在 .pro 文件中添加一个:
INCLUDEPATH += ...
#include <...>
然后您可以使用语法 (not )包含头文件"..."
,因为那时编译器会在包含路径中搜索它,而不是在当前工作目录(即项目的源文件夹)中搜索它。
在包含路径中使用标头的相对路径,而不是在项目的源文件夹中使用相对路径。
#include <header.h>
顺便说一句,只有当它们是使用 Qt 元对象系统的 Qt 标头时,才需要将标头添加到您的项目中。定义 QObject 派生类的那些被传递给moc
,这就是 Qt 项目需要指定标头的原因。真正的编译过程不需要知道你的项目中有哪些头文件(它只是在看到#include
指令时包含它们)。