VCodeコンパイルを使ってQTプログラムをデバッグする

4614 ワード

予備知識
  • batファイル、またはその他のスクリプト文法.
  • qmakeの基本的な文法、qmake show buildは何ですか?
  • vscodeのtask、lachの構成.
  • 前提
  • 各プログラムは正しくインストールされています.つまり、QtCreatorを使って正常にコンパイルしてデバッグできます.
  • はQt Creatorを用いてプロジェクトを生成する.
  • ここでデモンストレーションしているのはMSVC+CDBを使っているので、VSとwindowsデバッグツールをインストールします.もちろんGCC+GDBも使えます.
    スクリプト
    私はbatファイルを使います.
    batファイルは以下の通りです
    debugバージョン--build_debug.cmd
    @echo off
    title qmake and nmake build prompt
    set VCINSTALLDIR=D:\Microsoft Visual Studio 14.0\VC
    set QTDIR=D:\Qt\Qt5.9.1\5.9.1\msvc2015_64
    set PATH=%VCINSTALLDIR%\bin;%QTDIR%\bin;D:\7-Zip;%PATH%
    ::shadow build
    cd ..
    set file = tips-build-debug-msvc2015_64
    if NOT exist %file% ( mkdir tips-build-debug-msvc2015_64
    cd tips-build-debug-msvc2015_64
    call "%VCINSTALLDIR%\vcvarsall.bat" amd64
    qmake ../tips/tips.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug"
    nmake
    cd debug
    ::windeployqt tips.exe
    ::tips.exe
    注意点:
  • namkeは、QTデフォルトのjumにも置き換えることができます.
  • winddeployqtこれはQTの持参した配置ツールで、素早いexeのすべての依存dllを検索することができます.デバッグする時、環境変数を指定しないと、winddeployqtを開けないと、プログラムはdllをロードできません.もちろん、一回だけ開けばいいです.この時必要なdllは全部プログラムディレクトリにコピーされました.
  • releaseバージョン--release_debug.cmd
    @echo off
    title qmake and nmake build prompt
    set VCINSTALLDIR=D:\Microsoft Visual Studio 14.0\VC
    set QTDIR=D:\Qt\Qt5.9.1\5.9.1\msvc2015_64
    set PATH=%VCINSTALLDIR%\bin;%QTDIR%\bin;D:\7-Zip;%PATH%
    ::shadow build
    cd ..
    set file = tips-build-release-msvc2015_64
    if NOT exist %file% ( mkdir tips-build-release-msvc2015_64
    cd tips-build-release-msvc2015_64
    call "%VCINSTALLDIR%\vcvarsall.bat" amd64
    qmake ../tips/tips.pro -spec win32-msvc "CONFIG+=release" "CONFIG+=qml_release"
    nmake
    cd release
    ::windeployqt tips.exe
    tips.exe
    Task
    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "build_debug",
                "type": "shell",
                "command": "cmd",
                "args": [
                    "/c",
                    "build_debug.cmd"
                ],
                "group": "build",
                "presentation": {
                    // Reveal the output only if unrecognized errors occur.
                    "reveal": "silent"
                },
                // Use the standard MS compiler pattern to detect errors, warnings and infos
                "problemMatcher": "$msCompile"
            },
            {
                "label": "build_release",
                "type": "shell",
                "command": "cmd",
                "args": [
                    "/c",
                    "build_release.cmd"
                ],
                "group": "build",
                "presentation": {
                    // Reveal the output only if unrecognized errors occur.
                    "reveal": "silent"
                },
                // Use the standard MS compiler pattern to detect errors, warnings and infos
                "problemMatcher": "$msCompile"
            }
        ]
    }
    デバッグ
    ここを読んでくださいhttps://github.com/Microsoft/vscode-cpptools/blob/master/launch.mdc++のlachファイルの配置方法を紹介します.設定ファイルは以下の通りです.
    {
        //    IntelliSense       。 
        //             。
        //        ,   : https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "CDB",
                "type": "cppvsdbg",
                "request": "launch",
                "program": "tips.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}/../tips-build-debug-msvc2015_64/debug/",
                "environment": [],
                //"symbolSearchPath": "C:\\Symbols",
                "externalConsole": true,
                "logging": {
                    "moduleLoad": false,
                    "trace": true
                 },
                 "visualizerFile": "my.natvis"
            }
        ]
    }
    上の構成を使うには先にブリードを使ってrunをしなければなりません.パラメータを加えると:
    "preLaunchTask":"build_debug"
    F 5を押すたびに自動的に再コンパイルを開始し、デバッグプログラムを開始することができます.
    これでVCodeはQtをデバッグするプログラムをコンパイルすることができます.
    転載先:https://www.cnblogs.com/WeyneChen/p/7857063.html