使用VSCode 编译调试QT程序

预备知识

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

前提

  1. 各个程序正确安装,即使用QtCreator可以正常编译运行
  2. 使用QtCreator生产.pro文件

编译运行

bat文件如下:

  1. debug版本

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

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,自动开始重新编译并且开始调试程序。

时间: 2024-10-09 09:08:45

使用VSCode 编译调试QT程序的相关文章

亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)

下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,上网查

VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

https://www.cnblogs.com/rainbowzc/p/4689009.html 下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们 所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当

【转载】Windows下VSCode编译调试c/c++

懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Windows下VSCode便携式c/c++环境 http://blog.csdn.net/c_duoduo/article/details/52083494 下载解压即可食用. 本文转载自http://www.2cto.com/kf/201606/516207.html 原文如下: 这篇文章为blackkitty记录在windows下使用vscode编译调试c/c++的超级详细过程 首先看效果 设置断点,变量监视,调用堆栈的

【VSCode】Windows下VSCode编译调试c/c++

这篇文章为blackkitty记录在windows下使用vscode编译调试c/c++的超级详细过程 首先看效果 设置断点,变量监视,调用堆栈的查看: 条件断点的使用: 下面是配置过程: 总体流程: 下载安装vscode 安装cpptools插件 安装编译.调试环境 修改vscode调试配置文件 完了 下载安装vscode https://code.visualstudio.com/Download 点击下载自己喜欢的相应版本,绿色版解压即可食用 安装cpptools插件 打开vscode,按c

【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】

--------– 2018.03.27 更新--------- 便携版已更新,点此获取便携版 已知BUG:中文目录无法正常调试 用于cpptools 0.15.0插件的配置文件更新 新的launch.json // Available variables which can be used inside of strings. // ${workspaceRoot}: the root folder of the team // ${file}: the current opened file

使用VS+VisualGDB编译调试Linux程序

Linux程序开发变得越来越多,越来越多的程序.产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要. 但是对于习惯了Windows下的开发,使用了VS这个宇宙第一IDE后,觉得Linux下的纯命令行开发调试,还是有些不习惯,效率有些低(大神除外).那么能不能用VS来开发调试Linux程序呢,经过各种查找,找到了VisualGDB这个神奇的插件,通过VS+VisualGDB就可以编译调试Linux程序. 下面我们来看一下创建demo的过程吧. 配置虚拟机 V

使用VSCode和VS2017编译调试STM32程序

近两年,微软越来越拥抱开源支持跨平台,win10搭载Linux子系统,开源VSCode作为跨平台编辑器,VS2017官方支持了Linux和嵌入式开发功能. ST也是,近两年开发的软件工具基本都是跨平台(基于Java)的,比如STM32CubeMX,MCUFinder,STM32CubeProgrammer等.17年年底收购了truestudio的开发公司-Atollic.这个公司的IDE就是基于Eclipse使用GNU套装的. 官方都支持了,那我们有必要了解一下.要是好用,说不定就可以淘汰老旧的

Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确认 qmake -v 是自己使用的Qt版本,否则用export PATH进行修改)good

patchelf 工具可以修改已编译运行程序的依赖库位置和指定库链接器 patchelf --set-rpath patchelf --set-interpreter 通过这个工具 https://github.com/probonopd/linuxdeployqt 如果自己编译不了,也可以下载现成的 https://github.com/probonopd/linuxdeployqt/releases 运行 ./linuxdeployqt-2-x86_64.AppImage ShanbayDi

VScode 编译、调试运行C++ 程序的 配置文件设置(LINUX环境、Windows10环境)【自我总结】

Linux Linux下includePath路径:(C++头文件) /usr/include/ /usr/local/include/ Linux下minDebuggerPath路径:(gdb调试) /usr/bin/gdb Linux下compilerPath路径:(gcc编译) /usr/bin/gcc c_cpp_properties.json配置文件 { "configurations": [ { "name": "Win32", &q