windows通过vcpkg安装gmp库
介绍
Vcpkg 可帮助您在 Windows、 Linux 和 MacOS 上管理 C 和 C++ 库。
安装
需求:
- Windows 7 或更新的版本
- [Git][getting-started:git]
- [Visual Studio 2015 Update 3][getting-started:visual-studio] 或更新的版本(包含英文语言包)
如果没有英文语言包,在安装库的时候会出错,解决方法后文有提到
首先,请下载vcpkg并执行 bootstrap.bat 脚本。
它可以安装在任何地方,但是通常我们建议您使用 vcpkg 作为 CMake 项目的子模块,并将其全局安装到 Visual Studio 项目中。
我们建议您使用例如 C:\src\vcpkg
或 C:\dev\vcpkg
的安装目录,否则您可能遇到某些库构建系统的路径问题。
> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat
这一步也可以直接找到你下载的那个文件,双击bootstrap-vcpkg.bat即可
使用以下命令安装您的项目所需要的库:
> .\vcpkg\vcpkg install [packages to install]
您也可以使用 search
子命令来查找vcpkg中集成的库:
> .\vcpkg\vcpkg search [search term]
若您希望在 Visual Studio 中使用vcpkg,请运行以下命令 (首次启动需要管理员权限)
> .\vcpkg\vcpkg integrate install
为了方便使用,可以将目录添加到环境变量path下,之后使用输入vcpkg xxx xxx
即可
实例
资源管理器–>C盘–>Git Bash Here(没有此选项的,请先安装git)
输入
git clone https://github.com/microsoft/vcpkg
,回车
进入
vcpkg
目录,点击bootstrap-vcpkg.bat
执行,执行完毕会自动关闭,若无报错且目录下出现vcpkg.exe则代表安装成功复制当前的路径
C:\vcpkg
,打开桌面->电脑->属性->高级系统设置->环境变量
- 选择
用户环境变量->PATH
(如果没有就新建一个) - 将vcpkg的路径加入到PATH中,保存确定后退出。
- cmd输入
vcpkg
,出现输出则代表安装成功 - 输入
vcpkg integrate install
,此时会申请管理员权限,同意即可,这样之后就可以在vs中使用
包安装教程
搜索包
vcpkg search [search term]
其中[search term]
替换为你要寻找的包,如果被集成则可以被安装。
安装包
vcpkg install [packages to install]
其中[search term]
替换为你要安装的包,如果被集成则可以被安装。
包安装实例
此处以gmp为例
- 先执行
vckpkg search gmp
,可以看到已经集成了gmp库。 - 执行
vcpkg install gmp
进行安装
测试
在vs中创建一个C/C++工程,创建main.cpp
源文件,并输入以下代码
#include<gmp.h>
#include<stdio.h>
void foo(mpz_t result, const mpz_t param, unsigned long n) {
unsigned long i; mpz_mul_ui(result, param, n);
for (i = 1; i < n; i++)
mpz_add_ui(result, result, i * 7);
}
int main() {
mpz_t r, n;
mpz_init(r);
mpz_init_set_str(n, "123456", 0);
foo(r, n, 20L);
gmp_printf("%Zd\n", r);
return 0;
}
如果编译成功,则会有以下输出。若编译失败,请看后文常见问题解决。
常见问题
没有英文语言包
错误现象,在安装包的过程中失败,并提示没有安装英文语言包
解决方法
开始->Visual Studio Installer->修改
- 选中英文语言包,应用修改即可
error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
在使用gmp库的时候,编译可能会产生这样的报错。
打开 项目->属性->C/C++
, 关闭SDL检查。