use vscode mingw cmake on windows

记住mingw去官网下面的MingW-W64-builds, 下这个版本
x86_64-13.1.0-release-posix-seh-ucrt-rt_v11-rev1.7z
posix很重要, win32版本没线程支持,用到会报错

可以测试下是否能正常运行

#include <thread>
#include <mutex>
#include <condition_variable>
#include <iostream>std::thread second_workthread;
std::mutex mtx;
std::condition_variable objectDetectorRun;

task.json
安好mingw, cmake

{"version": "2.0.0","windows": {"options": {"shell": {"executable": "powershell"}}},"type": "shell","options": {"cwd": "${workspaceRoot}"},"tasks": [{"label": "cmake","linux": {"command": "cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Debug .."},"windows": {"command": "cmake -G 'MinGW Makefiles' .."},"type": "shell","dependsOn": "_makebuildfolder","options": {"cwd": "${workspaceRoot}/build"},"presentation": {"echo": true,"reveal": "always","panel": "shared"},"problemMatcher": [],"group": "build"},{"label": "make","linux": {"command": "make -j 8"},"windows": {"command": "mingw32-make -j 4"},"options": {"cwd": "${workspaceRoot}/build"},"presentation": {"echo": true,"reveal": "always","panel": "shared"},"isBuildCommand": true,"problemMatcher": [],"group": "build"},{"label": "_makebuildfolder","type": "shell","linux": {"command": "mkdir -p ${workspaceFolder}/build"},"windows": {"command": "mkdir -Force ${workspaceFolder}/build"},"problemMatcher": [],"group": "build"},{"label": "copy_raw","type": "shell","linux": {"command": "mkdir -p ${workspaceFolder}/build"},"windows": {"command": "Copy ${workspaceFolder}/*.raw ${workspaceFolder}/build "}},{"label": "run","args": ["32"],"windows": {"command": "${command:cmake.launchTargetPath}"},"options": {"cwd": "${workspaceRoot}/build"},},{"label": "runwithbuild","args": ["32"],"windows": {"command": "${command:cmake.launchTargetPath}"},"dependsOrder": "sequence", //tj : make sure exe deps in order"dependsOn": ["cmake", "make", "copy_raw"],"options": {"cwd": "${workspaceRoot}/build"},}]
}

对于opencv, 要么自己用Mingw编译, 要么下载现存的, 我这里下的现成的https://github.com/huihut/OpenCV-MinGW-Build

cmake_minimum_required( VERSION 3.5 )
project( main )set(CMAKE_CXX_FLAGS "-std=c++14")
set (OpenCV_DIR C:\\Software\\OpenCV-MinGW-Build)
find_package(OpenCV REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS})add_executable( main main.cpp )
target_link_libraries( main ${Pangolin_LIBRARIES} )

debug的话

launch.json

{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) Launch","type": "cppdbg","request": "launch","targetArchitecture": "x86","program": "${command:cmake.launchTargetPath}",// "program": "${workspaceFolder}/build/main.exe",// "program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": ["32"],//左边启动debug, 从这里pick up args"stopAtEntry": false,"cwd": "${workspaceFolder}/build","environment": [{"name": "PATH","value": "${env:Path};C:\\Workspace\\v-nova\\build"//这里设置错了,容易出现Unable to start debugging. Unexpected GDB output from command “-exec-run“}],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:/Software/mingw64/bin/gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],}]
}

需要配置用 cmake:configure with cmake debugger

在这里插入图片描述

注意最下面的状态栏, 如果没有设置点进去设置
另外 cmake可能会让把

C:\Software\OpenCV-MinGW-Build\x64\mingw\bin

加入环境变量

如果传参在launch.json 不work的话, 在setting.json里面加上

从状态栏启动debug的话, 设置 args要在setting.json里面

{"cmake.configureOnOpen": false,"files.associations": {"ostream": "cpp","mutex": "cpp","array": "cpp","string": "cpp","string_view": "cpp"},"C_Cpp.default.compilerPath": "C:\\Software\\mingw64\\bin\\g++.exe","cmake.debugConfig": {"args": ["32"//下面启动debug从这里Pick up args]}
}

从左边启动debug的话, args在launch.json里面设置

https://github.com/microsoft/vscode-cmake-tools/issues/121

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/78299.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC-GetAdaptersAddresses获取网卡信息

需要:#pragma comment(lib, "IPHLPAPI.lib") GetAdaptersAddresses函数参数说明 ULONG bufferSize = 0;ULONG result = ::GetAdaptersAddresses(AF_UNSPEC, GAA_FLAG_INCLUDE_PREFIX, nullptr, nullptr, &bufferSize);/*参数1:ULONG Family 网络协议族,此参…

Android学习之路(14) Context详解

一. 简介 在 Android 开发中、亦或是面试中都离不开四大组件的身影&#xff0c;而在创建或启动这些组件时&#xff0c;并不能直接通过 new 关键字后跟类名来创建实例对象&#xff0c;而是需要有它们各自的上下文环境&#xff0c;也就是本篇文章要讨论的 Context。 1.1 Contex…

get_views中list的arch格式

1 日历 -> 会议 <tree string"会议" sample"1" multi_edit"1"><header><button name"action_open_composer" type"object" context"{composition_mode:mass_mail}" string"发送邮件"…

无穷级数几个基础知识

问题&#xff1a; 级数敛散性和积分敛散性的区别联系是什么&#xff1f;学习的目的是什么&#xff1f;最重要的目的是什么&#xff1f; 主要内容。 部分和 s ∑ i 1 n u i s \sum_{i1}^{n} u _{i} si1∑n​ui​ 注意&#xff1a;部分和不是数列的一部分之和&#xff0c;…

线性回归方程

性回归是利用数理统计中的回归分析来确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法&#xff0c;是变量间的相关关系中最重要的一部分&#xff0c;主要考查概率与统计知识&#xff0c;考察学生的阅读能力、数据处理能力及运算能力&#xff0c;题目难度中等&…

华为python面试题目

华为Python常见的面试问题包括: Python是如何被解释的?什么是PEP8?Python是怎样管理内存的?什么是Python装饰器?Python提供哪些内置类型?Python中的异常处理是怎样的?什么是Python的上下文管理器?Python中的列表推导式是什么?Python中的生成器是什么?什么是Python的装…

uniapp 下拉框数据回显的问题

问题 : 现在是下拉框数据回显不了, 绑定的v-model 原因 : uniui 下拉框数据绑定要是 value text 这种格式的 解决办法: 将获取到的后端数据 转换为 需要的格式 ,再进行绑定 下拉框的数据 遍历

Chinese-LLaMA-Alpaca-2模型的测评

训练生成效果评测 Fastchat Chatbot Arena推出了模型在线对战平台&#xff0c;可浏览和评测模型回复质量。对战平台提供了胜率、Elo评分等评测指标&#xff0c;并且可以查看两两模型的对战胜率等结果。生成回复具有随机性&#xff0c;受解码超参、随机种子等因素影响&#xff…

【操作系统】进程的概念、组成、特征

概念组成 程序&#xff1a;静态的放在磁盘&#xff08;外存&#xff09;里的可执行文件&#xff08;代码&#xff09; 作业&#xff1a;代码&#xff0b;数据&#xff0b;申请&#xff08;JCB&#xff09;&#xff08;外存&#xff09; 进程&#xff1a;程序的一次执行过程。 …

电脑磁盘清理怎么做?2个方法,轻松释放内存!

“我电脑里的垃圾文件好像太多了&#xff0c;想给电脑做个全面的磁盘清理&#xff0c;我应该怎么操作呢&#xff1f;” 在计算机的使用中&#xff0c;定期进行电脑磁盘清理是至关重要的。这不仅可以帮助您释放宝贵的磁盘空间&#xff0c;还能提升系统性能和维护电脑的正常运行。…

Redis 核心数据结构理论解析

一、简述 redis是一个开源的使用C语言编写的一个kv存储系统&#xff0c;是一个速度非常快的非关系远程内存数据库。它支持包括String、List、Set、Zset、hash五种数据结构。 除此之外&#xff0c;通过复制、持久化和客户端分片等特性&#xff0c;用户可以很方便地将redis扩展…

Linux(下)

一、 对netstat的补充 1.进程管理 在杀死进程时&#xff0c;不可以杀死其他用户的进程。 查看指定进程时&#xff0c;下图的第二行 是ps -ef | grep tail 命令执行的进程 kill -9 进程号 也可以写作 kill -s 9 进程号 机器人&#xff1a; 2.查看主机状态 将进程的信息分三…

国家信息中心举办“数字政府建设暨数字安全技术”研讨会:海云安提出数字政府软件供应链安全解决方案

近日&#xff0c;由国家信息中心主办&#xff0c;复旦大学研究院承办的“数字政府建设暨数字安全技术研讨会”在义乌顺利召开。国家信息中心信息与网络安全部副主任禄凯&#xff0c;复旦大学党委常委、宣传部部长陈玉刚&#xff0c;义乌市委常委、常务副市长喻新贵为会议致辞。…

Apollo介绍和入门

文章目录 Apollo介绍配置中心介绍apollo介绍主流配置中心功能特性对比 Apollo简介 入门简单的执行流程Apollo具体的执行流程Apollo对象执行流程分步执行流程 核心概念应用&#xff0c;环境&#xff0c;集群&#xff0c;命名空间企业部署方案灰度发布全量发布 配置发布的原理发送…

使用共享 MVI 架构实现高效的 Kotlin Multiplatform Mobile (KMM) 开发

使用共享 MVI 架构实现高效的 Kotlin Multiplatform Mobile (KMM) 开发 文章中探讨了 Google 提供的应用架构指南在多平台上的实现。通过共享视图模型&#xff08;View Models&#xff09;和共享 UI 状态&#xff08;UI States&#xff09;&#xff0c;我们可以专注于在原生端…

leetcode 2. 两数相加

2023.9.14 这道题还是有点难度&#xff0c; 需要维护一个进位值&#xff0c;构造一个虚拟头节点dummy&#xff0c;用于结果的返回&#xff0c;还要构造一个当前节点cur&#xff0c;用于遍历修改新链表。 整体思路就是长度短的链表需要补0&#xff0c;然后两链表从头开始遍历相加…

GaussDB技术解读系列:运维自动驾驶探索

近日&#xff0c;在第14届中国数据库技术大会&#xff08;DTCC2023&#xff09;的GaussDB“五高两易”核心技术&#xff0c;给世界一个更优选择专场&#xff0c;华为云数据库运维研发总监李东详细解读了GaussDB运维系统自动驾驶探索和实践。 随着企业数字化转型进入深水区&…

string

目录 六、STL简介 (一)什么是STL (二)STL的版本 (三)STL六大组件 七、string (一)标准库中的string 1、string类 2、string常用的接口 1)string类对象的常见构造 2)string类对象的容量操作 3)string类对象的访问及遍历操作 4)string类对象的修改操作 5)string类非成…

帧结构的串行数据接收器——Verilog实现

用Verilog 实现一个帧结构的串行数据接收器&#xff1b; 串行数据输入为&#xff1a;NRZ数据加位时钟&#xff08;BCL&#xff09;格式&#xff0c;高位在前 帧结构为&#xff1a;8位构成一个字&#xff0c;64字构成一个帧。每帧的第一个字为同步字。同步字图案存储在可由CPU读…

lnmp环境部署

linux版本&#xff1a;centos7 nginx版本&#xff1a;1.24 php版本&#xff1a;7.4 mysql版本&#xff1a;5.7 尽量yum安装&#xff0c;省时省力&#xff1b;之前有用lnmp2一键安装&#xff0c;但php版本会在安装后切换成一个很低的版本&#xff0c;原因未知。 注意事项&a…