首页 > 解决方案 > 是否可以使用 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 项目保持同步,或者是否有一些我缺少的自动方式。

标签: qtqt5cross-platform

解决方案


我认为没有什么好的方法可以做到这一点。

但是,解决一般问题的更好工作流程是反向工作:仅通过 .pro 文件中的 QtCreator / 添加文件和进行项目更改,当项目文件更改时,通过重新生成 .sln 同步 Visual Studio通过 Extensions/Qt VS Tools/Open Qt Project File 在 Visual Studio 中打开 .pro 文件。


推荐阅读