2

我有一些以前编写的标题,我想将它们包含在我的 Qt 项目中。如果不将它们复制到位,我怎么能做到这一点?

在我使用“添加现有文件...”添加它们之后,我似乎无法#include 我的标题。#include "header.h" 和 #include "fullpath/header.h" 都不起作用。

4

1 回答 1

6

INCLUDEPATH您必须在 .pro 文件中添加一个:

INCLUDEPATH += ...

#include <...>然后您可以使用语法 (not )包含头文件"...",因为那时编译器会在包含路径中搜索它,而不是在当前工作目录(即项目的源文件夹)中搜索它。

包含路径中使用标头的相对路径,而不是在项目的源文件夹中使用相对路径。

#include <header.h>

顺便说一句,只有当它们是使用 Qt 元对象系统的 Qt 标头时,才需要将标头添加到您的项目中。定义 QObject 派生类的那些被传递给moc,这就是 Qt 项目需要指定标头的原因。真正的编译过程不需要知道你的项目中有哪些头文件(它只是在看到#include指令时包含它们)。

于 2012-10-12T14:34:43.833 回答