在Windows环境,VSCode调用C的第三方库函数
VSCode官方配置教程
MSYS2官方下载与安装教程链接
MSYS2 一 、MSYS2官方下载与安装教程链接
注意
1、MSYS2可以安装或提取到计算机的任何位置,但您必须使用仅包含ascii字符且不包含空格的文件夹名称(由于path路径的MAX为260,所以将其放置在使用少量字符的路径中很有意义;C:msys32或C:msys64是理想的)。
2、在**$ pacman -Syu**之前,更换包管理器的软件源。默认包管理器的软件源是在国外的(有梯子另说),换国内的速度会比较快: (对源文件进行备份是个好习惯)
编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
编辑 /etc/pacman.d/mirrorlist.ucrt64 ,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64
编辑 /etc/pacman.d/mirrorlist.clang64 ,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/clang64
编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
原文链接:https://blog.csdn.net/qq_17728627/article/details/124207407
中国科学技术大学 Linux 用户协会
刷新包管理器pacman -Sy,然后按照教程继续。
二、pacman包管理常用命令 安装新包:pacman -S删除包:pacman -R 搜索包:pacman -Ss && pacman -Sl|grep package-name 更新本地软件包数据库:pacman -S --refresh && pacman -Sy 升级软件包:pacman -S --refresh --sysupgrade && pacman -Syu 列出所有安装软件:pacman -Q --explicit && pacman -Q -e
pacman包管理命令大全
添加环境变量
将msys安装目录下的mingw64bin和usrbin添加到windows的系统环境变量中
VSCode配置 1、VSCode安装拓展C/C++ Extension Pack。同时将settings.json中的配置恢复默认状态,(清空settings.json即可),届时settings.json会自动配置好的 2、修改c_cpp_properties.json c_cpp_properties.json文件设置方案
Crtl+Shift+P找到Edit Configurations。在包含路径中添加 msys安装路径mingw64include/。添加后的c_cpp_properties.json应发生变化,includePath中会自动新增"C:msys64mingw64include/"
编译器路径:扩展使用包含路径设置来设置C++标准库头文件的路径。当扩展知道在哪里可以找到这些文件时,它可以提供智能完成和转到定义导航等功能。
C/C++扩展会尝试根据它在系统上找到的内容填充默认编译器位置。该扩展在几个常见的编译器位置中查找。编译器的搜索路径:
首先检查 Microsoft Visual C++ 编译器
然后在 Windows Subsystem for Linux (WSL)上查找 g++
再然后是 g++ for Mingw-w64。
如果安装了 Visual Studio 或 WSL,则可能需要进行更改以匹配项目的首选编译器。
修改.vscode下的tasks.json,以下图为例:
我需要调用gmp、openssl/bn的库函数。因此添加
gmp: “-l”, “gmp”,
openssl: “-l”, “ssl”, “-l”, “crypto”
"-I", "C:\gmp", //改成你的gmp.h所在文件夹的路径(一般是在gmp文件夹里) "-L", "C:\gmp\.libs",//改成你的libgmp.a静态库所在文件夹的路径(一般在gmp的.libs里) "-l", "gmp"//表示libgmp.a(gmp静态库) 原文链接:https://blog.csdn.net/qq_43094622/article/details/1057331334、运行成功 参考链接
https://blog.csdn.net/qq_17728627/article/details/124207407



