标签: mpir

从函数返回 mpz_t

我在 C++ 中使用 mpir 库时遇到问题。是否可以从函数返回 mpz_t 值?当我尝试这样做时,出现以下错误:

RSA.cpp:50:36: error: ‘HASHtemp’ declared as function returning an array
mpz_t RSA::HASHtemp( mpz_t message )
Run Code Online (Sandbox Code Playgroud)

c++ mpir

4
推荐指数
1
解决办法
3030
查看次数

删除对 Windows SDK 版本的依赖

我正在尝试编译 MPIR(GMP 的 Windows 友好版本)。我安装了 Visual Studio 2017,所以它应该可以工作,但我收到以下错误消息:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Cpp.WindowsSDK.targets(46,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:\mpir\msvc\vs17\lib_mpir_gc\lib_mpir_gc.vcxproj]

我特别需要达到可以在任何机器上编译的程度,而不仅仅是这台机器,所以在这台机器上安装那个确切的 SDK 版本并不能解决问题。我需要更改一些内容才能使用 Visual Studio 2017 进行构建。

看着C:\mpir\msvc\vs17\lib_mpir_gc\lib_mpir_gc.vcxproj,我找到了这一行:

<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>

这看起来很有希望,但删除它没有任何效果;错误信息保持不变。

我可以更改什么来消除此错误?

总结一下我相信这应该是可能的原因:

如果您编写 C++ 程序,例如在最简单的情况下,在名为 的单个文件中foo.cpp,并使用命令行编译器编译cl foo.cpp 它,它将自动编译并链接当前 Visual Studio 安装使用的任何 SDK 版本以生成foo.exe该程序(除非您使用了一些仅在更高版本的 …

c++ windows visual-studio mpir

3
推荐指数
1
解决办法
2591
查看次数

GMPY2 不安装

编辑:我正在使用应用商店中的 Win 10 和 Ubuntu

我尝试使用以下方法安装 gmpy2:

apt-get install libgmp-dev
apt-get install libmpfr-dev
apt-get install libmpc-dev
Run Code Online (Sandbox Code Playgroud)

并且还下载了 MPIR 并编译了它。但是使用pip install gmpy2仍然给我错误

c:\users\gypsyzz\appdata\local\temp\pip-install-l2hlf7q4\gmpy2\src\gmpy.h(104): fatal error C1083: Cannot open include file: 'mpir.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.13.26128\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
Run Code Online (Sandbox Code Playgroud)

此外,我发现使用https://www.lfd.uci.edu/~gohlke/pythonlibs/上的预建轮子并没有给我任何功能。

import gmpy2
from gmpy2 import mpz,mpq,mpfr,mpc
gmpy2.conjugate(mpc())
Traceback (most recent call last):

File "<ipython-input-18-2d51a42bda9a>", line 1, in <module>
gmpy2.conjugate(mpc())

AttributeError: module 'gmpy2' has no attribute 'conjugate'
Run Code Online (Sandbox Code Playgroud)

我更确定我对最后一部分的函数理解有误,所以请告诉我正确的语法。

mpfr gmp mpc mpir

1
推荐指数
1
解决办法
2万
查看次数

在 Windows 上的 Visual Studio 中安装 MPIR 时遇到问题?

在过去的三天里,我一直在尝试在 Windows 7 上使用 VS2017 构建库,以下是我能想到的:


如果您在 Windows 7 64 位上使用 Visual Studio 2017 时遇到 MPIR 问题。您可以按照以下步骤操作。如果您使用的是 Windows 8 或 10,它可能与 Windows 目录略有不同,但概念应该仍然相同。您仍然可以使用它作为指南,只需对目录设置进行少量修改即可。

注意: - 这是直接针对 x64

c++ python windows mpir visual-studio-2017

0
推荐指数
1
解决办法
2431
查看次数

标签 统计

mpir ×4

c++ ×3

windows ×2

gmp ×1

mpc ×1

mpfr ×1

python ×1

visual-studio ×1

visual-studio-2017 ×1