如何列出用于在 Qt 项目中包含头文件的所有路径?
How to list all paths that are used for including header files in a Qt project?
我已经将一个 C++ 项目 (Shrewsoft VPN) 导入到 Qt creator 中。
有些include语句失败,因为找不到被包含的文件 e. G。
#include <openssl/rand.h>
我知道 openssl/rand.h
文件所在的位置。但我不知道 Qt / C++ 编译器寻找它的路径。
有没有办法获取 Qt 搜索此头文件的所有路径的列表?
有两件事会影响搜索路径:构建环境和项目设置。构建环境一般是从系统继承的,项目设置在你的.pro文件中定义
在Qt Create 4.3中,可以看到
中的构建环境
项目(在左窗格中)> 构建 > 构建环境 > 详细信息 > INCLUDE
但我建议在您的项目文件中添加包含路径。在您的 .pro 文件中添加:
INCLUDEPATH += (Base Path to openssl includes)
您可能还需要扩展用于链接的库搜索路径:
LIBS += -L(Path to openssl libs) -l(openssl lib name)
Qt 以 3 种方式搜索 header 个文件,
第一个搜索路径是您的编译器路径,exp。对于 MSVC2015,它将在 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
中搜索
第二个搜索路径是你的Qt版本文件夹和链接的Qt库,exp。使用Qt5.9.2和widgets库,会在C:\Qt.9.2\msvc2015_64\include\QtWidgets
中搜索
最后一个搜索路径是您的外部 header 路径,包含在您的 INCLUDEPATH 变量中,用 QMake 解析。
对于 windows 应用中的 openssl,您需要添加
QT += core gui network
win32{
LIBS += -LC:/OpenSSL-Win32/lib -lubsec
INCLUDEPATH += C:/OpenSSL-Win32/include
}
添加到您的项目文件中,并将 C:/OpenSSL-Win32/ 替换为您下载的 OpenSSL 路径。
我已经将一个 C++ 项目 (Shrewsoft VPN) 导入到 Qt creator 中。
有些include语句失败,因为找不到被包含的文件 e. G。
#include <openssl/rand.h>
我知道 openssl/rand.h
文件所在的位置。但我不知道 Qt / C++ 编译器寻找它的路径。
有没有办法获取 Qt 搜索此头文件的所有路径的列表?
有两件事会影响搜索路径:构建环境和项目设置。构建环境一般是从系统继承的,项目设置在你的.pro文件中定义
在Qt Create 4.3中,可以看到
中的构建环境
项目(在左窗格中)> 构建 > 构建环境 > 详细信息 > INCLUDE
但我建议在您的项目文件中添加包含路径。在您的 .pro 文件中添加:
INCLUDEPATH += (Base Path to openssl includes)
您可能还需要扩展用于链接的库搜索路径:
LIBS += -L(Path to openssl libs) -l(openssl lib name)
Qt 以 3 种方式搜索 header 个文件,
第一个搜索路径是您的编译器路径,exp。对于 MSVC2015,它将在 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
中搜索第二个搜索路径是你的Qt版本文件夹和链接的Qt库,exp。使用Qt5.9.2和widgets库,会在C:\Qt.9.2\msvc2015_64\include\QtWidgets
中搜索最后一个搜索路径是您的外部 header 路径,包含在您的 INCLUDEPATH 变量中,用 QMake 解析。
对于 windows 应用中的 openssl,您需要添加
QT += core gui network
win32{
LIBS += -LC:/OpenSSL-Win32/lib -lubsec
INCLUDEPATH += C:/OpenSSL-Win32/include
}
添加到您的项目文件中,并将 C:/OpenSSL-Win32/ 替换为您下载的 OpenSSL 路径。