c++ - Qt 创建者:加载位于子目录中的项目文件
问题描述
我正在处理的遗留项目具有以下文件夹层次结构:
src
|--- folder1
|--- folder2
|--- Buildfiles
|--- my_app.pro
|--- components
|--- comp1.pro
|--- comp2.pro
构建项目的 pro 文件是 my_app.pro,其中包含(除其他外)以下几行:
INCLUDEPATH = folder1 folder2
include(components/comp1.pro)
include(components/comp2.pro)
如果我从 src 目录运行 qmake:qmake Buildfiles/my_app.pro
项目构建干净。如果我现在尝试使用 Qt Creator 打开 my_app.pro 文件,它不会加载任何标题或源(在文件夹 1 和文件夹 2 中),因为(我假设)Qt Creator 将在当前目录中查找文件夹 1 和文件夹 2 并且找不到他们。它确实加载了 components/compX.pro。
有没有办法让 Qt Creator 正确加载 pro 文件而不更改 pro 文件本身(因为有客户端代码从 src 目录构建它)?也许通过编写一个新的简短 pro 文件来加载 my_app.pro 文件?
谢谢你的建议!
解决方案
是的!如果更改 my_app.pro 文件不是一个选项,您可以在根文件夹中添加一个 subdirs.pro 文件,该文件将简单地包含提到的所有子目录的相对路径,作为 'SUBDIRS +=' qmake 系统变量的参数。这应该运作良好。
推荐阅读
- solidity - 在 Solidity 库中复制 SafeMath
- javascript - 如何在 localStorage 中更改和存储购物车数量值
- javascript - 如何在 React 中获取单击动态添加的组件的索引并将其删除?
- django - '问题'对象没有属性'choice_set'django
- python - dask 数据框是否有任何有效的方法来按一列分组然后加入该列?
- algorithm - N/3 重复次数线性解
- html - 引导折叠不适用于多行卡片
- c# - 如果文本框中的值正在编辑,则 Ajax 和 Json 看不到 c# 中的修改
- sql-server - 无法连接到 MSSQLSERVER
- c# - 如何处理多个新添加的实体,这些实体依赖于具有外键约束的每个水獭 - EF6