zoukankan      html  css  js  c++  java
  • 使用VSCode 编译调试QT程序

    预备知识

    1. bat文件,或者其他的脚本语法。
    2. qmake基本语法,qmake shadow build是啥。
    3. vscode 的task,lanch的配置。

    前提

    1. 各个程序正确安装,即使用QtCreator可以正常编译调试。
    2. 使用QtCreator生成工程。

    这里演示的是使用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.0VC
    set QTDIR=D:QtQt5.9.15.9.1msvc2015_64
    set PATH=%VCINSTALLDIR%in;%QTDIR%in;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
    

    注意点:

    1. namke 也可以换成QT默认的jom。
    2. windeployqt 这个是QT自带的部署工具,可以搜素exe的所有依赖dll。调试的时候,若是不指定环境变量,需要将windeployqt打开,否则程序无法加载dll。当然,只要打开一次就够了,因为此时所有必要的的dll已经全部复制到程序目录下了。

    release版本 -- release_debug.cmd

    @echo off
    title qmake and nmake build prompt
    set VCINSTALLDIR=D:Microsoft Visual Studio 14.0VC
    set QTDIR=D:QtQt5.9.15.9.1msvc2015_64
    set PATH=%VCINSTALLDIR%in;%QTDIR%in;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.md,介绍了怎么配置c++的lanch文件。
    然后配置文件如下:

    {
        // 使用 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"
            }
        ]
    }
    

    使用上面的配置需要先build再run,如果加上一个参数:

    "preLaunchTask":"build_debug"
    

    即可实现每次按F5,自动开始重新编译并且开始调试程序。

    至此,VSCode已经可以编译调试Qt的程序了。

  • 相关阅读:
    构建helm chart应用
    关于使用KubeSphere中的docker配置Harbor仓库http访问docker login登陆报错的解决办法
    Harbor配置自签名证书,docker login+web https访问,helm chart推送应用
    Harbor仓库配置https访问
    Chart 文件结构
    helm chart应用使用示例
    docker-compose命令使用说明
    访问Harbor报502 Bad Gateway
    harbor helm仓库使用
    Helm命令日常使用
  • 原文地址:https://www.cnblogs.com/WeyneChen/p/7857063.html
Copyright © 2011-2022 走看看