Win10 + VSCode C++配置gmp大数库(亲测可用)

安装gmp静态库

需要用到

msys1.0.18 :msys1.0.18 download | SourceForge.net

gmp6.2.1(下载tar.xz后缀):The GNU MP Bignum Library (gmplib.org)

运行msys.bat以后,讲gmp-6.2.1.tar.xz复制到msys/home/boulevard ,注意这里是自己的用户名

输入 ls 检查是否有.tar.xz文件,若有,继续;若无,上一步放错位置了(可能放到Admin里面了)

输入:

tar -xvf gmp-6.2.0.tar.xz
cd ./gmp-6.2.0
./configure --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --disable-static --enable-shared --enable-cxx
make
make check
make install

编译完成以后,可以看到 msys/home/boulevard/gmp-6.2.1 里面有一堆c++库文件了

配置VSCode

首先打开终端手动g++编译试试

g++ test.cpp -o test.exe -L'D:\\msys\\msys\\home\\boulevard\\gmp-6.2.1\\.libs' -I'D:\\msys\\msys\\home\\boulevard\\gmp-6.2.1' -lgmp

然后配置VSCode一键编译:

c_cpp_properties.json includepath项目加入gmp-6.2.1目录:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:/msys/msys/home/boulevard/gmp-6.2.1"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:/MinGW/bin/g++.exe",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}

tasks.json "args"字段加入三个参数:

"tasks": [
        {
            "type": "shell",
            "label": "g++.exe build active file",
            "command": "D:/MinGW/bin/g++.exe",
            "args": [
                "-g",
                "${file}",

                "-I",
				"D:\\msys\\msys\\home\\boulevard\\gmp-6.2.1", //改成你的gmp.h所在文件夹的路径(一般是在gmp文件夹里)
				"-L",
				"D:\\msys\\msys\\home\\boulevard\\gmp-6.2.1\\.libs",//改成你的libgmp.a静态库所在文件夹的路径(一般在gmp的.libs里)
				"-l",
				"gmp",//表示libgmp.a(gmp静态库)


                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],

配置好以后,很多博客都没有说下一步,也就是最后怎么用这一步

VSCode中,写一个有gmpxx.h头文件的cpp代码,点击右上角的小三角形Run Code,可以看到终端的命令还是:

PS E:\programs\cpp> cd "e:\programs\cpp\" ; if ($?) { g++ test.cpp -o test } ; if ($?) { .\test }

当然是不能编译的,没有链接库。

其实这个小三角形还有两个下拉选项:

调试C/C++文件

运行C/C++文件

所以其实我们在调试/运行的时候,需要选择这两个选项。

点击第二个选项运行试试,这次终端显示内容如下,当然是可以了:

PS E:\programs\cpp>  & 'c:\Users\boulevard\.vscode\extensions\ms-vscode.cpptools-1.10.5-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-leycryws.22j' '--stdout=Microsoft-MIEngine-Out-v4buybgl.34l' '--stderr=Microsoft-MIEngine-Error-en3h4405.r4h' '--pid=Microsoft-MIEngine-Pid-uln2eguw.ka5' '--dbgExe=D:\MinGW\bin\gdb.exe' '--interpreter=mi'
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值