首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在visual studio上安装MPFR和GMP for C++

如何在visual studio上安装MPFR和GMP for C++
EN

Stack Overflow用户
提问于 2013-10-31 00:26:39
回答 3查看 16.4K关注 0票数 3

据我所知,我应该首先安装GMP。我找到的唯一用于此目的的教程是http://cs.nyu.edu/exact/core/gmp/,当我进入步骤3:“打开gmp.dsw (VC++.Net的gmp.vcproj)来构建GMP”时,我收到了许多构建错误。你可以在这里下载:http://www.f2h.co.il/msbz68nzzip。有许多类似于"fatal error C1083: Cannot open include file:'fib_table.h':没有这样的文件或目录“这样的错误。

有没有其他的教程?我该怎么办?

我正在Windows 7上使用Visual Studio 2010。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-01 07:54:12

我遇到了类似的问题,并刚刚通过下载预编译的MPIR和MPFR库来解决它,而不是在Windows上需要mingw或类似的GMP。

下面是我的解决方案的链接:How to install MPFR with Visual studio 2008 /2010

希望这对你有所帮助

现在可以在这里找到@casevh提供的完美解决方案:Build mpir/mpfr/mpc via VC++

票数 0
EN

Stack Overflow用户

发布于 2016-07-04 10:36:00

如何使用MPFR设置Visual Studio 2015项目

本指南将帮助您使用MPFR和MPIR (GMP的Windows端口)并使用一些预先构建的二进制文件来启动和运行VS项目。(这里有一个VS项目的链接和我提到的下载的二进制文件:https://www.dropbox.com/s/p08cw59bic4f02v/MPFR-VSProj.zip?dl=1)

获取预编译的二进制文件

http://www.holoborodko.com/pavel/mpfr/#projects获取

  • 预编译文件

代码语言:javascript
运行
复制
- mpfr\_mpir\_x86\_x64\_msvc2010 (precompiled mpfr mpir with MSVC 2010 

由于它是用MSVC2010编译的,因此需要Microsoft Visual C++ 2010 * Redistributable。如果我们试图在调试模式下运行程序,我们将无法运行。我们会得到这样的错误:“程序无法启动,因为MSVCP100.dll在您的计算机中丢失”。本质上,MSVCP100.dll是Visual Studio2010安装的一部分,但不在可再发行包中,它只包含构建的发布版本所需的dll

代码语言:javascript
运行
复制
    - NOTE: visual studio still allows one to debug in the Release configuration so debugging isn't a big issue at this stage when you are just trying to get up and running
代码语言:javascript
运行
复制
- mpfrc++-3.6.2 (c++ wrapper by Holoborodko)

注意:这些二进制文件已经有几年的历史了,但它们都经过了测试,并且“相对没有bug”

Visual Studio项目设置:

  1. 将配置更改为"Release,x86“由于我们在2010 Redistributable (本应作为VS install的一部分安装)

中缺少调试dll,因此现在必须这样做。

  1. 在保存解决方案的$(SolutionDir) (顶级目录)中创建一个'libs‘和'include’文件夹。
    • mpfr_mpir_x86_x64_msvc2010
    • 将正确的文件复制到以下文件夹中:
      • mpfr_mpir_x86_x64_msvc2010
        • 从mpfr和mpir的“Win32> directory
        • All”文件夹中将directory

、*.dll、*.exp、*.lib和*.pdb复制到$(SolutionDir)/lib Release头文件中的$(SolutionDir)/include mpfr

代码语言:javascript
运行
复制
- **mpfrc++-3.6.2** 
    - Add mpreal.h to your project (or in $(SolutionDir)/include if you prefer)
    - The header is all you need for the c++ wrapper

  1. 告诉VS在何处查找新创建的'include‘和'lib’目录Configuration Properties > VC++ Directories

代码语言:javascript
运行
复制
- Include Directories: add path to your include directory
- Library Directories: add path to your lib directory

  1. 链接库的*.lib文件配置属性>链接器>输入>其它库

代码语言:javascript
运行
复制
- Add the following to this list: mpfr.lib; mpir.lib;

运行时使用编译器选项更改运行时库:配置属性> C/C++ >代码生成>运行时Library

代码语言:javascript
运行
复制
- select "Multi Threaded DLL (/MD)"

命令命令设置用于生成的编译器参数:配置属性>调试>

代码语言:javascript
运行
复制
- append: "-lmpfr -lgmp"

  1. 强制将DLL复制到输出目录配置属性>生成事件>生成后DLL

代码语言:javascript
运行
复制
- Command Line: 'XCOPY "$(SolutionDir)lib\*.dll" "$(TargetDir)" /D /K /Y'
- Description: 'Copy DLLs to Target Directory'
- Use in Build: YES

  1. 在清理输出文件夹时告诉VS清理DLL:

配置属性->要在清理上删除的常规->扩展

代码语言:javascript
运行
复制
- add: '\*.dll'

示例示例要测试项目,请从mpfrc++-3.6.2文件夹的“

  • /example.cpp”中复制main()

代码语言:javascript
运行
复制
- Make sure to add an include your mpreal.h file after your stdafx.h include

有帮助的文章:

票数 3
EN

Stack Overflow用户

发布于 2020-01-16 18:37:31

使用VCPKG包管理系统应该可以解决您的痛苦。我在windows下使用GNU、libs等的大部分操作都是这样解决的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19688442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档