qmake 从子文件夹添加头文件
qmake adding header files from subfolders
我正在尝试使用 qmake 生成一个 c++ 项目并在 Visual Studio 下编译它。该项目作为 ITK 的依赖项。我制作了一个带有MyITK项目的.pri:
MyITK {
CONFIG_FOUND += MyITK
INCLUDEPATH += $${PACKAGE_SOURCES}/Shared/MyITK
QMAKE_LIBDIR += $${PACKAGE_LIB}/MyITK
win32:LIBS += ITKIONIFTI-4.13.lib
ITKCommon-4.13.lib
ITKBiasCorrection-4.13.lib
ITKBioCell-4.13.lib
等
在我的项目的 .pro 中是这样的:
CONFIG += staticlib MyITK
HEADERS +=
myowncode.h
myowncode2.h
myowncode3.h
SOURCES +=
myowncode.cpp
myowncode2.cpp
当我尝试编译我的项目时,只有当我将它们直接放在 $${PACKAGE_SOURCES}/Shared/MyITK 中时,它才会找到 .h
如果我"复制粘贴"源代码形式的itk,它的组织方式是这样的:/模块/模块名称/子模块名称/包含
有没有办法让QMake在所有子目录中查找.h?
根据马特的回答,我试过:
ITKModules = Core Filtering IO Numerics Registration Segmentation
Core.submodules = Common FiniteDifference
IO.submodules = NIFTI ImageBase
Numerics.submodules = Eigen FEM NarrowBand NeuralNetworks
Registration.submodules = Common FEM
Segmentation.submodules = BioCell ConnectedComponents KLMRegionGrowing
MyITK {
CONFIG_FOUND += MyITK
for(foo, ITKModules): for(bar, $${foo}.submodules) {
INCLUDEPATH += $${PACKAGE_SOURCES}/Shared/MyITK/Modules/$${foo}/$${bar}/include
}
QMAKE_LIBDIR += $${PACKAGE_LIB}/MyITK
win32:LIBS += ITKIONIFTI-4.13.lib
ITKCommon-4.13.lib
ITKBiasCorrection-4.13.lib
ITKBioCell-4.13.lib
}
但它仍然无法链接到 .h at VS 编译。
有没有办法让QMake在所有子目录中查找.h?
实际上,您正在尝试使编译器查看所有子目录,而不是qmake
。
qmake
本身没有内置函数来生成子目录列表。但是您可以使用循环稍微美化一下您的pro
:
modules = x1 x2 x3
x1.submodules = y1 y4
x2.submodules = y2 y5
x3.submodules = y3 y6
for(foo, modules): for(bar, $${foo}.submodules) {
INCLUDEPATH += /Modules/$${foo}/$${bar}/include
}
相关文章:
- 我应该将除 .cpp 以外的其他文件添加到 git 中吗?
- 如何将不可编译的配置文件添加到QT工程中?
- 将 std::文件系统头文件添加到我的程序时出现编译错误
- 如何将运算符定义从头文件添加到现有结构?
- 如何使jse文件执行编码.exe并静默添加启动?Javascript将文件添加到启动?
- 将内存文件添加到 clang 编译器实例
- 将一个 UI 文件添加到另一个 UI 文件中
- 将STL文件添加到QT小部件
- 如何将几个.cpp文件添加到一个cmakelists.txt中
- 当我尝试将文件添加到另一个文件时出现怪异符号时
- 如何将用户下载的标头文件添加到系统中默认情况下的标题文件列表
- MSBuidel - 将资源文件添加到项目后静态库编译失败
- 将文件添加到C 可执行文件中
- 如何将信息从 txt 文件添加到哈希表
- CMAKE QT创建者:将标题文件添加到项目文件中
- 使用C 将JPG文件添加到输出的HTML文件中
- 找不到构造函数 - 如何将 CPP 文件添加到 Qt 构建过程
- 如何使用 QSettings向我的配置文件添加注释
- 将二进制文件添加到其他人的柯南食谱中
- 如何将文件添加到Android项目中,然后使用NDK加载它