gpt4 book ai didi

c++ - 在另一个文件夹中包含子项目 .pri

转载 作者:行者123 更新时间:2023-11-30 02:57:29 32 4
gpt4 key购买 nike

我有 qt 项目 proj1,它依赖于另一个 (proj2)。

目录树是这样的:

common/
`--/pr1/
proj1.pri
main.cpp
`--/pr2/
proj2.pri
src1.cpp
src2.cpp

proj1 包含 proj2:

include(../proj2.pri)

在 proj2.pri 中,源按当前 (pr2) 目录中的方式列出:

SOURCES += src1.cpp \ 
src2.cpp

所以当我尝试构建 proj1 时,我遇到了这样的错误:

make: *** No rule to make target `src1.cpp', needed by `src1.o'.  Stop.

在 pri 文件的帮助下,是否有任何正确的方法来包含子项目的源代码(我需要这样做以进行调试)?

最佳答案

在 proj1.pri 中,在包含 proj2.pri 之前:

PROJECT_ONE_IS_DEFINED = 1

在 proj2.pri 中:

isEmpty(PROJECT_ONE_IS_DEFINED){ 
DEPENDPATH += pr2
INCLUDEPATH += pr2
} !isEmpty(PROJECT_ONE_IS_DEFINED){
DEPENDPATH += ..\pr2
INCLUDEPATH += ..\pr2
}

这样project 2单独使用会正常包含,作为project 1的一部分会正常包含....

或者,您可以简单地将 pr2 的路径添加到 project1 中的 DEPENDPATH,只要将您的 cpp 文件的路径添加到 dependpath,make 就可以正常工作

编辑:

允许在许多项目中包含 .pri 文件而不用担心每种情况的特定路径的最有效方法是添加

DEPENDPATH += $$PWD
INCLUDEPATH += $$PWD

在每个 .pri 文件的开头。

关于c++ - 在另一个文件夹中包含子项目 .pri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606014/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com