欢迎光临散文网 会员登陆 & 注册

基于msys2和vscode打造科学计算C++环境

2023-04-27 21:16 作者:Bili大学学员  | 我要投稿

基于msys2和vscode打造c++开发环境

下载msys2

到清华的镜像下载msys2的最新版:

https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/x86_64/

 



把下载好的文件放在准备安装的文件夹里,例如d:\prog,双击运行自动解压缩,没有任何需要确认参数的地方。解压缩完成后会出来一个msys64的文件夹,打开这个文件夹。

 

初始设置

运行文件夹中的msys2.exe


 

弹出个命令行窗口,运行半天初始化设置:


可以放这运行半天,去干会别的,主要耗费时间的是更新gpg的keys,等一会实在过不去,用ctrl+c结束一般也没啥大事。

 

参考清华镜像的说明修改镜像源:

https://mirrors.tuna.tsinghua.edu.cn/help/msys2/

就是在msys2.exe的命令行窗口中运行:

sed -i "s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*

 

运行pacman -Syu


出现的确认填y回车


安装c++相关的包

pacman -Ss 包的部分名字:搜索包

 pacman -S 包的全名: 安装该包

更具体的命令使用方式读这个链接:

https://blog.csdn.net/hustlei/article/details/86687621

 

这里需要安装的包的命令,一律回答y安装:

 

pacman -S mingw-w64-ucrt-x86_64-gcc

pacman -S mingw-w64-ucrt-x86_64-make

pacman -S mingw-w64-ucrt-x86_64-xmake

pacman -S mingw-w64-ucrt-x86_64-gdb

pacman -S mingw-w64-ucrt-x86_64-openmp

pacman -S mingw-w64-ucrt-x86_64-openblas

pacman -S mingw-w64-ucrt-x86_64-armadillo

 

安装vscode

到微软下载vsode压缩包,不要下载exe:

https://code.visualstudio.com/docs/?dv=winzip

 

下载慢,失败,加速的方法看这个链接:

https://zhuanlan.zhihu.com/p/112215618

 

解压缩到msys64文件夹下的usr/bin目录下比较省事,也可以解压缩到其他文件夹:



把ucrt64.exe固定到开始屏幕

运行ucrt64.exe打开一个命令行窗口,运行code回车。以后每次启动vscode都要这么启动,这样就可以不用设置path了。


如果安装在其他位置,需要把d:prog//msys64/ucrt64/bin添加到path环境变量,上面的路径根据自己的安装位置进行修改。

 

开始菜单搜索环境,就出来:

 


先点path,点编辑,然点浏览,然后选中对应的路径,就出来:

确定就设置好了。

 

安装vscode插件

在插件里搜索c++,只安装第一个插件

搜索xmake,安装

 

创建第一个项目

到文件窗口,同时按ctrl+shift+p,上面弹出来的命令栏里输入xmake,选下面的xmake:create project

会提示没打开文件夹,要创建一个新的项目文件夹。

 

 vscode在第一次没有选择或者关了弹窗的情况下,再次创建项目会没反应,可以关了重新打开vscode一次,也可以在ucrt64.exe命令行窗口里直接运行:

xmake create -l c++ -P ./文件夹名

提示的是否信任,选是,信任。

 

完事再ctrl+shit+p,输入xmake,选择create project

又会重新弹出窗口

 弹出的下拉菜单选C++


然后又弹出一个下拉菜单选console

 然后会生成目录结构,大致如下:

然后开始配置,先是选平台,从windows改成mingw

然后改toolchain,改成gcc

然后点build,生成,正常就不会报错了,build完成可以点三角形运行,也可以点旁边的debug进行调试了。

 

静态链接的xmake.lua 实例

如果程序里没写#define,编译时需要再add_cxxflags里添加“-DARMA_DONT_USE_WRAPPER”

 


Armadillo与matlab的语法对比:

https://arma.sourceforge.net/docs.html#syntax

 

最后,如果intellisense有问题,一般会提示设置include folder,这个也可以自己改项目文件夹中.vscode文件夹中的json配置文件。

总结:xmake比微软提供的C++插件套装,还有cmake套装方便到不知哪里去了。

全文完。

基于msys2和vscode打造科学计算C++环境的评论 (共 条)

分享到微博请遵守国家法律