qt - 是否可以使用 Qt VS Tools 处理跨平台项目并让它自动将项目更改同步到 .pro 文件中?
问题描述
我试图了解使用 Qt VS Tools 开发跨平台应用程序时的预期工作流程。如果我在 .pro 文件中有每个平台的选项,这是否意味着在不使用 Qt Creator 的 Windows 上工作时,我必须手动保持 .pro 文件与 .vcxproj 文件同步?
例如,我建立了一个测试项目并使用 Qt VS Tools 实现了一个小桌面应用程序。我现在可以从 Qt VS Tools 扩展菜单中选择“创建基本 .pro 文件”。这将创建以下 .pro 文件,我可以从 Qt Creator 构建和运行该文件:
TEMPLATE = app
TARGET = TestQt
DESTDIR = ../x64/Debug
QT += core gui widgets
CONFIG += debug
DEFINES += _UNICODE _ENABLE_EXTENDED_ALIGNED_STORAGE WIN64 QT_DLL QT_WIDGETS_LIB
INCLUDEPATH += ./GeneratedFiles \
. \
./GeneratedFiles/$(ConfigurationName)
DEPENDPATH += .
MOC_DIR += ./GeneratedFiles/$(ConfigurationName)
OBJECTS_DIR += debug
UI_DIR += ./GeneratedFiles
RCC_DIR += ./GeneratedFiles
include(TestQt.pri)
现在说但是我想让项目具有一些特定于平台的依赖关系。例如,我在上面的“include(TestQt.pri)”之前添加了以下内容——但这可以是对 .pro 文件的任何类型的手动编辑。
windows {
SOURCES += WindowsSpecific.cpp
}
这将在 Qt Creator 中工作,但我必须在 Visual Studio 中手动添加新文件。如果我现在在 Visual Studio 中添加与平台无关的内容并通过相同的扩展菜单项重建 .pro 文件,我将丢失我手动添加到 .pro 文件中的任何内容,例如上面的 WindowsSpecific.cpp 的包含。
我创建一个 .pro 文件的意图也是如此,从那时起手动编辑 .pro 文件以使其与 Visual Studio 项目保持同步,或者是否有一些我缺少的自动方式。
解决方案
我认为没有什么好的方法可以做到这一点。
但是,解决一般问题的更好工作流程是反向工作:仅通过 .pro 文件中的 QtCreator / 添加文件和进行项目更改,当项目文件更改时,通过重新生成 .sln 同步 Visual Studio通过 Extensions/Qt VS Tools/Open Qt Project File 在 Visual Studio 中打开 .pro 文件。
推荐阅读
- react-native - CocoaPods 找不到 pod“glog”的兼容版本
- python - ORM 的 Python SQL 原生替代品
- c# - 在 Entity Framework Core 中将具有相同主键的相同实体附加到 DbContext 时出现问题
- synology - DSM7:安全连接到 LAN 中的 Synology NAS(无 Letsencrypt)
- c# - 热巧克力 v11 中的 DataLoaderOptions.AutoDispatch
- firebase-hosting - 使用 Cloud Run 进行 Firebase 托管的默认缓存行为是什么?
- django - Django:如何在 Django 中以周格式获取月份数据
- c# - 为什么将数组拆箱为不正确的类型不会在 C# 中引发异常?
- javascript - Uncaught TypeError: root is undefined papaparse
- r - R ggplot 遍历图表标题的污染物列表