Windows10安装VScode + mingw64 + GSL

这里写自定义目录标题

  • 安装VScode
  • 安装 MingW64
    • 测试C/C++环境
  • 安装msys
  • 安装GSL
  • 配置VScode
    • launch.json
    • 创建tasks.json
    • 配置c_cpp_properties.json
  • 测试验证
  • 其他可参考

安装VScode

  1. 在官网下载VScode:VScode
  2. 按导引步骤安装VScode,并选择自己想安装的位置
  3. 创建自己的工作区(项目/project),也可以打开自己的项目文件夹

安装 MingW64

  1. 下载mingw64
  2. 解压
  3. 配置环境变量:在系统变量的Path中新建一条 mingw64 的 bin 所在的绝对路径,如“C:\mingw64\bin
  4. Win+R 输入运行 cmd,在Power Shell 输入“gcc - v” 查看是否安装成功;输入“g++ -v”查看是否安装无误

测试C/C++环境

  1. 找教程把mingw64配置在VScode上,也可以先看后面的配置 VScode

  2. 在工作区创建一个测试代码,如:

#include <iostream>
using namespace std;
int main()
{cout << "Hello World";return 0;
}
  1. 检查是否编译成功且输出Hello World,验证无误

安装msys

  1. 下载msys
  2. 按导引安装,可以放在mingw64的文件夹内(笔者这么放的

安装GSL

  1. 下载GSL
  2. 解压,可以解压在mingw64的文件夹内(笔者这么放的
  3. 在msys的目录下找到msys.bat,然后以管理员身份运行
  4. 通过cd进入gsl文件
  5. 输入 ./configure && make && make install 回车,等待安装完毕
  6. 在msys的文件夹内找local文件夹,会出现 binlibshareinclude4 个文件夹
  7. bin 里面的动态链接库 libgsl.dlllibgslcblas.dll(由于笔者安装的是gsl-2.7.1,所以是 libgsl-27.dlllibgslcblas-0.dll )复制到mingw64bin 文件夹中(笔者的是在:C:\mingw64\bin)

配置VScode

launch.json

  1. 选择VScode 功能按键 Debug
  2. 创建 launch.json (弹窗选“建议”)
  3. 复制以下内容并修改为自己的mingw64的路径
{"version": "0.2.0","configurations": [{"name": "g++.exe build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",  //将C:\\mingw64\\bin\\gdb.exe修改为自己的gdb.exe所在路径"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "g++.exe build active file"}]}
  1. 保存

创建tasks.json

  1. 在VScode初步配置了基础C/C++后
  2. 将下面内容复制到task.json内并保存
{"tasks": [{"type": "cppbuild","label": "C/C++: g++.exe 生成活动文件","command": "C:/mingw64/bin/g++.exe",  // 修改为自己的g++.exe文件路径"args": ["-fdiagnostics-color=always","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe","-I", // 配置GSL新增"C:\\mingw64\\msys\\msys\\local\\include", // 配置GSL新增,改成自己的路径"-L", // 配置GSL新增"C:\\mingw64\\msys\\msys\\local\\lib", // 配置GSL新增,改成自己的路径"-lgsl", // 配置GSL新增"-libgslcblas", // 配置GSL新增"lm", // 配置GSL新增,报错就注释掉"-g","-fexec-charset=GBK"//针对中文],"options": {"cwd": "C:/mingw64/bin"  // 改成自己的路径},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}

配置c_cpp_properties.json

将以下内容复制过去并保存

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","C:/mingw64/include/**",  //改成自己的路径"C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/**",   //改成自己的路径"C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward/**",  //改成自己的路径"C:/mingw64/include",  //改成自己的路径"D:/CodeSet/**"  //自己的工作区路径],"defines": ["_DEBUG","UNICODE","_UNICODE"],"compilerPath": "C:\\mingw64\\bin\\g++.exe",  //改成自己的路径"cStandard": "c89","cppStandard": "gnu++98","intelliSenseMode": "windows-gcc-x64"}],"version": 4
}

测试验证

在GSL文档中找个例子测试
完毕

其他可参考

此篇博文仅记录笔者成功安装的过程,部分组合安装过程可以在其他文章中找到:
(1) C++科学计算库GSL在Windows下的配置
(2) ./configure && make && make install详解
(3)MinGW-W64 下载、安装与配置(支持最新版的GCC,目前 GCC 13.2.0)
(4)Windows搭建C++编程环境(VSCode+Mingw-w64)

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

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

相关文章

three.js 箭头ArrowHelper的实践应用

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div></div></el-main></…

【芯片设计- RTL 数字逻辑设计入门 15 -- 函数实现数据大小端转换】

文章目录 函数实现数据大小端转换函数语法函数使用的规则Verilog and Testbench综合图VCS 仿真波形 函数实现数据大小端转换 在数字芯片设计中&#xff0c;经常把实现特定功能的模块编写成函数&#xff0c;在需要的时候再在主模块中调用&#xff0c;以提高代码的复用性和提高设…

Qt PCL学习(文章链接汇总)

Qt PCL学习&#xff08;一&#xff09;&#xff1a;环境搭建 Qt PCL学习&#xff08;二&#xff09;&#xff1a;点云读取与保存 Qt PCL学习&#xff08;三&#xff09;&#xff1a;点云滤波 持续更新中…

Unity3d Shader篇(六)— BlinnPhong高光反射着色器

文章目录 前言一、BlinnPhong高光反射着色器是什么&#xff1f;1. BlinnPhong高光反射着色器的工作原理2. BlinnPhong高光反射着色器的优缺点优点缺点 3. 公式 二、使用步骤1. Shader 属性定义2. SubShader 设置3. 渲染 Pass4. 定义结构体和顶点着色器函数5. 片元着色器函数 三…

图文并茂讲解Travelling Salesman

题目 思路 一道lca板子题&#xff0c;不会的同学可以先康康 详解最近公共祖先(LCA)-CSDN博客 我们可以发现&#xff0c;商人是从1开始&#xff0c;旅行到第一个城镇&#xff0c;再到第二个&#xff0c;第三个…… 那么我们只需要求出1~第一个城镇的距离&#xff0c;第一个城…

go语言实现LRU缓存

go语言实现LRU Cache 题目描述详细代码 题目描述 设计和构建一个“最近最少使用”缓存&#xff0c;该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值)&#xff0c;并在初始化时指定最大容量。当缓存被填满时&#xff0c;它应该删除最近最…

Elasticsearch(ES) 简述请求操作索引下文档 增删查改操作

上文 Elasticsearch(ES) 创建带有分词器规则的索引 带着大家创建了一个带有分词功能的索引 老规矩 我们启动一下ES服务 本文 我们就来说说 关于文档的操作 我们先来添加一个文档 就像数据库加一条数据一样 这里 并不需要指定什么表结构和数据结构 它的文档结构是无模式的 添…

为什么有人不推荐选择网络安全行业?

很多人是这样了解网络安全专业的&#xff1a; 专业就业面窄&#xff0c;市场需求量小。网络空间安全主要是从事网络安全方面的工作&#xff0c;就业面窄。它和软件工程、计算机科学与技术等专业不一样&#xff0c;后者毕业可以从事软件开发或者大数据等方面的工作。而网络安全就…

Redis——缓存的持久化

1、持久化机制 Redis的所有数据都保存在内存中&#xff0c;如果没有配置持久化功能&#xff0c;Redis重启后数据就会全部丢失&#xff0c;所以需要开启Redis的持久化功能&#xff0c;将数据保存到磁盘上&#xff0c;这样当Redis重启后&#xff0c;可以从磁盘中恢复数据。Redis…

【JS逆向六】(下)逆向解密某网站返回的密文的值 仅供学习

逆向日期&#xff1a;2024.02.07 使用工具&#xff1a;Node.js 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 可使用AES进行解密处理&#xff08;直接解密即可&#xff09;&#xff1a;在线AES加解密工具 1、打开某某网站(请使用文章开头的…

使用深度学习对视频进行分类

目录 加载预训练卷积网络 加载数据 将帧转换为特征向量 准备训练数据 创建 LSTM 网络 指定训练选项 训练 LSTM 网络 组合视频分类网络 使用新数据进行分类 辅助函数 此示例说明如何通过将预训练图像分类模型和 LSTM 网络相结合来创建视频分类网络。 要为视频…

Android:自定义控件

3.16自定义控件 1.自定义VIEW组件 创建CustomizeView,继承View。重写onDraw方法,通过onDraw方法绘制我们自定义的图像、位图、路径等。 示例: //自定义绘制View public class CutomizeView extends View {//构造方法public CutomizeView(Context context) {super(context…

【原创 附源码】Flutter海外登录--Tiktok登录最详细流程

最近接触了几个海外登录的平台&#xff0c;踩了很多坑&#xff0c;也总结了很多东西&#xff0c;决定记录下来给路过的兄弟坐个参考&#xff0c;也留着以后留着回顾。更新时间为2024年2月7日&#xff0c;后续集成方式可能会有变动&#xff0c;所以目前的集成流程仅供参考&#…

[BeginCTF]真龙之力

安装程序 双击安装 出现了安装失败的标签&#xff0c;开发者不允许测试。 查看Mainfest入口文件 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android" android:versionCo…

71_Pandas.DataFrame排名

71_Pandas.DataFrame排名 使用rank()方法对pandas.DataFrame和pandas.Series的行/列进行排名。 sort_values() 是一种按升序或降序对 pandas.DataFrame 列和 pandas.Series 进行排序的方法&#xff0c;但rank() 返回每个元素的排名而不对数据进行排序。 请参阅下面的文章了解…

[vscode]ssh报错: Resolver error: Error: XHR failedscode错误

场景问题&#xff1a;通过vscode ssh连接远程服务器失败&#xff0c;报错&#xff1a;Resolver error: Error: XHR failedscode&#xff1a; 问题原因&#xff1a;~/.vscode-server/bin/一串数字下的vscode-server-linux-x64.tar.gz由于某种原因无法正常下载 解决方式&#x…

JavaScript实现轮播图方法

效果图 先来看下效果图&#xff0c;嫌麻烦就不用具体图片来实现了&#xff0c;主要是理清思路。&#xff08;自动轮播&#xff0c;左右按钮切换图片&#xff0c;小圆点切换图片&#xff0c;鼠标移入暂停轮播&#xff0c;鼠标移出继续轮播&#xff09; HTML 首先是html内容&am…

【QT学习十四】 文件目录操作

目录 一、概述 二、详解 1. QFile QFile 类中的一些静态方法&#xff1a; 使用示例&#xff1a; 注意事项&#xff1a; 2. QDir 成员函数 使用实例&#xff1a; 注意事项&#xff1a; 3. QFileInfo 成员函数 使用实例 4. QTemporaryFile 成员函数 使用实例 注…

Rust语言之集合

文章目录 一、元组&#xff08;tuple&#xff09;1.元组定义2.元组使用解构索引 3.元组修改非可变元组可变元组类型不一致 二、数组1.数组不可变数组定义可变数组定义数组使用数组修改数组的遍历 2.动态数组-向量&#xff08;Vector&#xff09;向量定义向量遍历向量追加向量插…

MongoDB聚合: $sort

聚合的$sort阶段对所有输入文件进行排序&#xff0c;并按排序顺序返回管道。 语法 { $sort: { <field1>: <sort order>, <field2>: <sort order> ... } }$sort阶段参数为一个文档&#xff0c;该文档指定了要排序的字段和相应的排序顺序。<sort or…