如何在Qt Creator中添加包含路径?

Nat*_*man 149 path include qt-creator

我有一个我在Qt创建者工作的项目,需要第三方库.我想将标题添加到项目的包含路径中.我该怎么做呢?

Jas*_*n B 220

如果您正在使用标准Qt构建系统qmake,只需.proqmake变量参考中记录的文件中添加一行:

INCLUDEPATH += <your path>
Run Code Online (Sandbox Code Playgroud)

如果您使用自己的构建系统,则通过选择"基于Makefile的项目的导入"来创建项目.这将在项目目录中创建一些文件,包括一个名为的文件<your project name>.includes.在该文件中,只需列出要包含的路径,每行一个.真的这一切都告诉Qt Creator在哪里寻找索引自动完成的文件.您自己的构建系统必须以自己的方式处理包含路径.

Qt Creator手册中所述,<your path>必须是绝对路径,但您可以.pro通过使用$$PWD指向包含.pro文件的文件夹来避免文件中的OS,主机或用户特定条目,例如

INCLUDEPATH += $$PWD/code/include
Run Code Online (Sandbox Code Playgroud)

  • 最好使用`QMAKE_CXXFLAGS`变量,因为`INCLUDEPATH`是错误的(至少目前是QT5).即当我包含`INCLUDEPATH + = ../../../`时,QT只是随机选择了这个路径中的目录,编译器得到了选项`-I ../../../ GUI`. (6认同)
  • @ Hi-Angel:似乎指定的`INCLUDEPATH`是相对于构建目录的,而不是相对于`.pro`的目录,可能很容易假设.如我对答案的编辑所示,你可以使用`$$ PWD'来获得一个明确定义的文件夹来启动包含路径. (4认同)
  • 据我所知,但这并不意味着不存在。我在选项中没有看到任何类似的内容。 (3认同)
  • 没关系.你的答案提到`INCLUDE_PATH`,但你的意思是'INCLUDEPATH`.我会解决你的答案:) (3认同)
  • 好的.这对我很有用.是否有包含路径的全局设置? (2认同)

小智 6

要在"附加参数"的"项目/构建/构建步骤"部分中添加全局包含路径,请使用qmake的自定义命令,如下所示: "QT+=your_qt_modules" "DEFINES+=your_defines"

我认为你可以用这种方式使用*.pro文件中的任何命令.


Ada*_*dam 6

对于像我这样完全不熟悉 Qt Creator 的人,您可以在 Qt Creator 中修改项目的 .pro 文件:

在此处输入图片说明

只需在“项目”窗口中双击“您的项目名称”.pro,然后像我所做的那样在 .pro 文件的底部添加包含路径。

  • 使用绝对文件路径是一个非常糟糕的主意。始终尝试使用相对文件路径系统。QT 是为跨平台而设计的。如果你在 Linux 机器上编译相同的代码,编译器将无法找到像 C:\ 这样的文件名,而且,即使你重命名源文件夹或将它移动到你自己计算机上的其他地方,它仍然会失败,并且你每次都必须编辑 .pro 文件 (5认同)