linux中vscode编QT程序,使用VSCode 编译调试QT程序

该博客介绍了如何在Linux环境下使用Visual Studio Code(VSCode)进行QT程序的编译和调试。首先,文章提到了所需的预备知识,包括bat文件和qmake的基本概念,以及VSCode的task和launch配置。接着,详细阐述了在VSCode中配置和使用bat脚本来实现QT项目的shadow build。脚本包括了debug和release两种版本的构建。此外,还提到了使用windeployqt工具进行程序依赖的自动部署。博客最后部分展示了VSCode的任务配置和调试配置,说明了如何设置自动编译和调试流程。

预备知识

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"

}

]

}

调试

{

// 使用 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的程序了。

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

下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

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

下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...

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

懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Windows下VSCode便携式c/c++环境 http://blog.csdn.net/c_duoduo/article/de ...

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

便携版已更新,点此获取便携版 用于cpptools插件的配置文件更新 更新的launch.json // Available variables which can be used inside of ...

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

--------– 2018.03.27 更新--------- 便携版已更新,点此获取便携版 已知BUG:中文目录无法正常调试 用于cpptools 0.15.0插件的配置文件更新 新的launch ...

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

转载自:http://blog.csdn.net/c_duoduo/article/details/51615381 懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Window ...

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

Linux程序开发变得越来越多,越来越多的程序.产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要. 但是对于习惯了Windows下的开发,使用了VS这个宇宙第 ...

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

转载自http://m.2cto.com/kf/201606/516207.html 首先看效果 设置断点,变量监视,调用堆栈的查看: 条件断点的使用: 下面是配置过程: 总体流程: 下载安装vsco ...

VS编译的QT程序发布时产生的AppCrash问题

至少我碰到了三个情况,都是AppCrash错误(以下都指VS2008的Release的设置) 第1个错误,报错模块是程序自己 我使用VS2008 Team with SP1和QT4.86编译程序,一直 ...

随机推荐

python 自动发邮件 Errno61 Connection refused

此问题是在mac机器上遇到 之前在windows平台运行ok的脚本在mac上报错 后来查了半天 发现是网络接入不对 切换下网络后问题就解决了

面试问题整理笔记系列 一 Java线程类

1.sleep()和wait()区别 sleep() 方法:线程主动放弃CPU,使得线程在指定的时间内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态.典型地,sleep() ...

ZOJ 3644 Kitty's Game dfs,记忆化搜索,map映射 难度:2

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4834 从点1出发,假设现在在i,点数为sta,则下一步的点数必然不能是sta的 ...

anroid ndk编译ffmpeg 引用librtmp libx264

Ffmpeg 无处不在,自然android系统少不了它,折腾了不少时间完成 ndk编译ffmpeg,生成so库中引用了外部库librtmp,libx264.条条大路通罗马, 也许还有别的更好的方法去完 ...

用PHPExcel类读取excel文件的内容

这里对PHPExcel类不做介绍,有兴趣的朋友可以自己查阅资料 在classes文件夹下有个PHPExcel.php文件,这个文件是这个类库的主要入口文件,在用之前,要引入这个类 其他的类,在此类中会 ...

JMS 之 Active MQ 启动嵌入式Broke

一.如何启动active MQ 服务 (一).使用命令启动 /bin 目录下 ./activemq start 默认使用conf/activemq.xml 配置文件 b.[root@localhost ...

centos7 升级openssh到openssh-8.0p1版本

环境介绍 centos7.3和centos7.6升级完毕测试登录ssh以及重启后登录ssh均无问题. 前期请自行配置好yum源(如果不会请百度) 整个过程不需要卸载原先的openssl包和openss ...

【精】搭建redis cluster集群,JedisCluster带密码访问【解决当中各种坑】!

转: [精]搭建redis cluster集群,JedisCluster带密码访问[解决当中各种坑]! 2017年05月09日 00:13:18 冉椿林博客 阅读数:18208  版权声明:本文为博主 ...

TOJ_12470

#include struct node{ int x; int y; int step;}first; int zx[4]={-1,0,1,0};int zy[4]= ...

C++的四种显示类型转换

static_cast 除了含有底层const的类型转换,其他的一般都可以用这个static_cast const_cast 专门用来转换底层const,将常量转换为非常量,但是假如这个量如果本身是常 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值