使用VSCode 编译调试QT程序
2017-11-18 16:15
916 查看
预备知识
bat文件,或者其他的脚本语法。qmake基本语法,qmake shadow build是啥。
vscode 的task,lanch的配置。
前提
各个程序正确安装,即使用QtCreator可以正常编译调试。使用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.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默认的jom。
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.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.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的程序了。
相关文章推荐
- 使用VSCode和VS2017编译调试STM32程序
- 在Visual Studio中集成使用 Qt Opensource 版本 ||| 在 QtCreator 使用 VC 编译调试
- Windows XP 下使用命令行编译、运行 QT4 程序
- 使用平板电脑真实设备调试Qt-Creator写的程序
- VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序
- Ubuntu 下使用Eclipse编译、调试嵌入式程序的方法
- Ubuntu下使用Eclipse编译、调试嵌入式程序的方法(上)
- 使用VC+VA编写/编译/运行/调试linux程序
- VS2012中使用编译的Qt-5.1.1静态库开发程序
- 使用Vs2005 VS2008编译真正的静态Qt程序
- VS2012中使用编译的Qt-5.1.1静态库开发程序
- 在Visual Studio中集成使用 Qt Opensource 版本 ||| 在 QtCreator 使用 VC 编译调试
- 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序
- 使用Visual Studio 利用WinGDB编译和远程调试嵌入式Linux的程序
- 使用VC2005编译真正的静态Qt程序
- 使用VC2005编译真正的静态Qt程序
- VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序
- 使用code blocks编译qt程序之三:编译qrc文件
- 使用Visual Studio 利用WinGDB编译和远程调试嵌入式Linux的程序
- Ubuntu 下使用Eclipse编译、调试嵌入式程序的方法(中)