ChatGPT解决这个技术问题 Extra ChatGPT

How to add include path in Qt Creator?

I have a project I'm working on in Qt creator that requires a third-party library. I want to add the headers to the include path for the project. How do I do this?


t
tomvodi

If you are using qmake, the standard Qt build system, just add a line to the .pro file as documented in the qmake Variable Reference:

INCLUDEPATH += <your path>

If you are using your own build system, you create a project by selecting "Import of Makefile-based project". This will create some files in your project directory including a file named <your project name>.includes. In that file, simply list the paths you want to include, one per line. Really all this does is tell Qt Creator where to look for files to index for auto completion. Your own build system will have to handle the include paths in its own way.

As explained in the Qt Creator Manual, <your path> must be an absolute path, but you can avoid OS-, host- or user-specific entries in your .pro file by using $$PWD which refers to the folder that contains your .pro file, e.g.

INCLUDEPATH += $$PWD/code/include

Okay. This will work for me just fine. Is there a global setting for include paths?
Not that I know of, but that doesn't mean there isn't. I don't see anything in the options that looks like that.
Never mind. Your answer mentions INCLUDE_PATH but you meant INCLUDEPATH. I'll fix your answer :)
It is better to use the QMAKE_CXXFLAGS variables instead, because the INCLUDEPATH is buggy(at least at present moment -- QT5). I.e. when I included INCLUDEPATH += ../../../, the QT just randomly chosen directory in this path, and the compiler got the option -I../../../GUI.
@Hi-Angel: It seems the INCLUDEPATH specified is relative to the build directory, not relative to the directory with the .pro as one might easily assume. As shown in my edit to the answer, you can use `$$PWD' to get a clearly defined folder to start the include path with.
A
Adam

For anyone completely new to Qt Creator like me, you can modify your project's .pro file from within Qt Creator:

https://i.stack.imgur.com/yHFHS.png

Just double-click on "your project name".pro in the Projects window and add the include path at the bottom of the .pro file like I've done.


Using absolute file paths is a very bad idea. Always try to use relative file path system. QT is designed for being cross platform. And if you compile same code on a Linux machine, the compiler will fail to find those file names like C:\ Moreover, even if you rename the source folder or move it somewhere else on your own computer, it will still fail, and you will have to edit the .pro file everytime
Did you manually create the untitled.pro file or it came along when you initiated the project? Completely new to QtCreator so needed some explanation. Thanks.
A
Alex Maltsev

To add global include path use custom command for qmake in Projects/Build/Build Steps section in "Additional arguments" like this: "QT+=your_qt_modules" "DEFINES+=your_defines"

I think that you can use any command from *.pro files in that way.


k
karsten

If you use custom Makefiles, you can double click on the .includes file and add it there.