为升华文本3中的Qt构建系统不工作

为升华文本3中的Qt构建系统不工作,qt,sublimetext3,Qt,Sublimetext3,我有以下生成系统文件,该文件不工作 { "cmd" : ["qmake", "-project"], "cmd" : ["qmake"], "cmd" : ["make"], "working_dir": "${project_path:${folder}}", } 没有生成任何文件。通常应创建以下文件: qmake-project生成一个.pro文件 qmake生成makefile make生成可执行文件 如何在生成文件中运行多个命令?您可以创建一个包含所有命令的bash文件,并将该命令

我有以下生成系统文件,该文件不工作

{
"cmd" : ["qmake", "-project"],
"cmd" : ["qmake"],
"cmd" : ["make"],
"working_dir": "${project_path:${folder}}",
}
没有生成任何文件。通常应创建以下文件:

  • qmake-project生成一个.pro文件
  • qmake生成makefile
  • make生成可执行文件

如何在生成文件中运行多个命令?

您可以创建一个包含所有命令的bash文件,并将该命令设置为该文件

{
    "cmd" : ["my_build.sh"],
    "working_dir": "${project_path:${folder}}",
}

# my_build.sh
qmake -project
qmake
make

您可以创建一个包含所有命令的bash文件,并将命令设置为该文件

{
    "cmd" : ["my_build.sh"],
    "working_dir": "${project_path:${folder}}",
}

# my_build.sh
qmake -project
qmake
make

以下是我在Sublime Text 3中用于Qt 5项目的构建系统:

{
    "shell_cmd": "qmake && make",
    "working_dir": "${project_path:${folder}}",

    "variants":
    [
        {
            "name": "Qmake Project",
            "shell_cmd": "qmake -project"
        },

        {
            "name": "Qmake Clean",
            "shell_cmd": "make clean"
        }
    ]
}
要扩展dutt的注释,可以在一行中使用与在shell中编写命令相同的语法运行多个命令这很好,因为它仅在前一个命令成功时才执行下一个命令


有关单行shell命令的更多信息。

以下是我在Sublime Text 3中用于Qt 5项目的构建系统:

{
    "shell_cmd": "qmake && make",
    "working_dir": "${project_path:${folder}}",

    "variants":
    [
        {
            "name": "Qmake Project",
            "shell_cmd": "qmake -project"
        },

        {
            "name": "Qmake Clean",
            "shell_cmd": "make clean"
        }
    ]
}
要扩展dutt的注释,可以在一行中使用与在shell中编写命令相同的语法运行多个命令这很好,因为它仅在前一个命令成功时才执行下一个命令


有关一行shell命令的更多信息。

对于其他寻找示例的人,我在这里创建了一个默认的“qmake”构建系统(调试配置)和一个“release”变体,它执行额外的清理步骤,移动一些文件,然后压缩结果

为了使这一切正常工作,您将需要设置某些路径和环境变量,幸运的是Qt附带了一个windows批处理文件来完成这项工作,Visual Studio 2017也是如此(或者您可以在不使用IDE的情况下安装Visual Studio CLI开发工具)

我启动一个cmd.exe(确保“where subl”起作用,如果不首先通过在path环境变量中放置升华可执行文件文件夹的路径来修复它),然后我使用source
%QTDIR%\bin\qtenv2.bat
设置正确的qmake工具链。我正在为此使用msvc2017\u 64“toolkit”,因此我的路径是
C:\Qt\5.12.5\msvc2017\u 64\bin\qtenv2.bat

然后,如果你使用微软的Visual C++工具链(C.exe,nFug,等等),你还需要运行批处理文件来为其设置正确的环境变量。我使用的是64位Qt工具包,所以我需要“vcvars64.bat”文件。它深埋在Visual Studio文件夹中,我的文件夹位于

“C:\Program Files(x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\”
中。在获取qt和ms.bat文件后,我们准备从cmd.exe启动升华文本。使用
subl myproject.sublime project

说到这里,这里是我的示例qmake构建系统,用于我的项目:

{
"build_systems": [
    {
        "name": "qmake",
        "shell_cmd": "qmake ${project_path}/foo/foo.pro -spec win32-msvc \"CONFIG+=debug\" && C:/Qt/Tools/QtCreator/bin/jom -f Makefile.Debug && ${project_path}/foo/build/debug/foo.exe",
        "selector": "source.c++",
        "working_dir": "${project_path}/foo/build",

        "variants": [
        {
            "name": "release",
            "shell_cmd": "qmake ${project_path}/foo/foo.pro -spec win32-msvc \"CONFIG+=qtquickcompiler\" \"CONFIG+=release\" && C:/Qt/Tools/QtCreator/bin/jom qmake_all && C:/Qt/Tools/QtCreator/bin/jom install && C:/Qt/Tools/QtCreator/bin/jom clean && C:/Qt/5.12.5/msvc2017_64/bin/windeployqt ${project_path}/foo/build/release/foo.exe && \"C:/Program Files/7-zip/7z.exe\" a foo.zip ./release/*"
    }],
}

对于其他寻找示例的人,我在这里创建了一个默认的“qmake”构建系统(调试配置)和一个“release”变体,这是一个额外的清理步骤,移动一些文件,然后压缩结果

为了使这一切正常工作,您将需要设置某些路径和环境变量,幸运的是Qt附带了一个windows批处理文件来完成这项工作,Visual Studio 2017也是如此(或者您可以在不使用IDE的情况下安装Visual Studio CLI开发工具)

我启动一个cmd.exe(确保“where subl”起作用,如果不首先通过在path环境变量中放置升华可执行文件文件夹的路径来修复它),然后我使用source
%QTDIR%\bin\qtenv2.bat
设置正确的qmake工具链。我正在为此使用msvc2017\u 64“toolkit”,因此我的路径是
C:\Qt\5.12.5\msvc2017\u 64\bin\qtenv2.bat

然后,如果你使用微软的Visual C++工具链(C.exe,nFug,等等),你还需要运行批处理文件来为其设置正确的环境变量。我使用的是64位Qt工具包,所以我需要“vcvars64.bat”文件。它深埋在Visual Studio文件夹中,我的文件夹位于

“C:\Program Files(x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\”
中。在获取qt和ms.bat文件后,我们准备从cmd.exe启动升华文本。使用
subl myproject.sublime project

说到这里,这里是我的示例qmake构建系统,用于我的项目:

{
"build_systems": [
    {
        "name": "qmake",
        "shell_cmd": "qmake ${project_path}/foo/foo.pro -spec win32-msvc \"CONFIG+=debug\" && C:/Qt/Tools/QtCreator/bin/jom -f Makefile.Debug && ${project_path}/foo/build/debug/foo.exe",
        "selector": "source.c++",
        "working_dir": "${project_path}/foo/build",

        "variants": [
        {
            "name": "release",
            "shell_cmd": "qmake ${project_path}/foo/foo.pro -spec win32-msvc \"CONFIG+=qtquickcompiler\" \"CONFIG+=release\" && C:/Qt/Tools/QtCreator/bin/jom qmake_all && C:/Qt/Tools/QtCreator/bin/jom install && C:/Qt/Tools/QtCreator/bin/jom clean && C:/Qt/5.12.5/msvc2017_64/bin/windeployqt ${project_path}/foo/build/release/foo.exe && \"C:/Program Files/7-zip/7z.exe\" a foo.zip ./release/*"
    }],
}
您可以尝试“cmd”:[“qmake-project&&qmake&&make”]或“cmd”:[“qmake-project”,“qmake”,“make”]您可以尝试“cmd”:[“qmake-project&&qmake&&make”]或“cmd”:[“qmake-project”,“qmake”,“make”]