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