基于msys2和vscode打造科學計算C++環(huán)境
基于msys2和vscode打造c++開發(fā)環(huán)境
下載msys2
到清華的鏡像下載msys2的最新版:
https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/x86_64/
?

把下載好的文件放在準備安裝的文件夾里,例如d:\prog,雙擊運行自動解壓縮,沒有任何需要確認參數(shù)的地方。解壓縮完成后會出來一個msys64的文件夾,打開這個文件夾。
?
初始設置
運行文件夾中的msys2.exe

?
彈出個命令行窗口,運行半天初始化設置:

可以放這運行半天,去干會別的,主要耗費時間的是更新gpg的keys,等一會實在過不去,用ctrl+c結(jié)束一般也沒啥大事。
?
參考清華鏡像的說明修改鏡像源:
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
出現(xiàn)的確認填y回車

安裝c++相關(guān)的包
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環(huán)境變量,上面的路徑根據(jù)自己的安裝位置進行修改。
?
開始菜單搜索環(huán)境,就出來:

?
先點path,點編輯,然點瀏覽,然后選中對應的路徑,就出來:


確定就設置好了。
?
安裝vscode插件
在插件里搜索c++,只安裝第一個插件

搜索xmake,安裝

?
創(chuàng)建第一個項目
到文件窗口,同時按ctrl+shift+p,上面彈出來的命令欄里輸入xmake,選下面的xmake:create project

會提示沒打開文件夾,要創(chuàng)建一個新的項目文件夾。
?

?vscode在第一次沒有選擇或者關(guān)了彈窗的情況下,再次創(chuàng)建項目會沒反應,可以關(guān)了重新打開vscode一次,也可以在ucrt64.exe命令行窗口里直接運行:
xmake create -l c++ -P ./文件夾名

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

?
完事再ctrl+shit+p,輸入xmake,選擇create project
又會重新彈出窗口

?彈出的下拉菜單選C++
然后又彈出一個下拉菜單選console
?然后會生成目錄結(jié)構(gòu),大致如下:

然后開始配置,先是選平臺,從windows改成mingw

然后改toolchain,改成gcc

然后點build,生成,正常就不會報錯了,build完成可以點三角形運行,也可以點旁邊的debug進行調(diào)試了。
?
靜態(tài)鏈接的xmake.lua 實例

?

Armadillo與matlab的語法對比:
https://arma.sourceforge.net/docs.html#syntax

?
最后,如果intellisense有問題,一般會提示設置include folder,這個也可以自己改項目文件夾中.vscode文件夾中的json配置文件。

總結(jié):xmake比微軟提供的C++插件套裝,還有cmake套裝方便到不知哪里去了。
全文完。