0

我已经下载并提取了 GMP 库的文件。我的目标是使用这个库与我的 c++ 代码一起使用 code::blocks 作为我的 IDE。我已经验证我提取的文件中有一个makefile。实际上,有两个make文件,makefile.am和makefile.in。

假设这些文件是我需要的,我打开命令提示符并导航到存储这些 makefile 的文件夹 (c:\cpplibs\gmp)。从那里,我输入“make”并按回车键,期望这将编译库,然后我可以从 code::blocks 链接到它。

但是,我立即从命令提示符处收到一条错误消息:

'make' 不是内部或外部命令、可运行程序或批处理文件。

我检查了 Path 变量,我的 make.exe 文件存储的路径就在这个字符串中,所以我认为这不是问题。我之前没有在 Windows 环境中使用过 Make,所以我被卡住了。我在这里正确使用 Make 吗?有谁看到我做错了什么?

谢谢!

(编辑:我发布了几个屏幕截图来展示我如何设置 Make 以及 Path 变量指向它)

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

2

这些是 autoconf/automake 文件,而不是常规的 make 文件,因此如果没有 GNU 工具,它们将无法工作。

考虑让MinGW来构建它,或者你可以试试 Cygwin,如果你不介意 cygwin 依赖,这会更简单。

此外,错误消息表明 make 不在您的路径中,尽管您的想法如何。

于 2012-07-03T17:22:58.873 回答
0

我使用此站点的说明在 Windows 中进行编译:

您可以从该站点找到要下载的所有文件: https ://github.com/MachineCognitis/Math.Gmp.Native/tree/master/Math.Gmp.Native/Dependencies

在 Windows 上构建 GNU MP 库 安装 MSYS2。

在 64 位计算机上,安装 msys2-x86_64-20161025.exe,在 32 位计算机上,安装 msys2-i686-20161025.exe。您还可以在此处检查 MSYS2 的更新版本。将 MSYS2 安装到其默认位置。

安装后,您需要更新 MSYS2 软件包。从 Windows 开始菜单,启动 MSYS2 MSYS。在 shell 命令窗口中,输入命令:

吃豆人-Syuu

并按照说明进行操作。您将不得不关闭命令窗口,重新打开一个新窗口,然后重新输入命令 pacman -Syuu。

最后,为了构建软件,您需要使用以下命令安装多个软件包:

pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain git subversion mercurial mingw-w64-i686-cmake mingw-w64-x86_64-cmake

从与上一步相同的命令窗口运行。

要构建 32 位软件,请使用 Windows 开始菜单中的 MSYS2 MinGW 32 位命令,对于 64 位软件,请使用 MSYS2 MinGW 64 位。

安装yasm。

在 64 位计算机上,将 yasm-1.3.0-win64.exe 复制到 C:\msys64\usr\bin,并将其重命名为 yasm.exe。

同样在 32 位计算机上,将 yasm-1.3.0-win32.exe 复制到 C:\msys32\usr\bin,并将其重命名为 yasm.exe。

构建 GNU MP。

创建文件夹 C:\Temp\x86 和 C:\Temp\x64。这些是将安装已编译的 32 位和 64 位版本的 GNU MP 的文件夹。在文件夹 C:\Temp 中解压缩 gmp-6.1.2.tar.bz2。这会将 GNU MP 放在子文件夹 gmp-6.1.2 中。

在使用 Windows 开始菜单中的命令 MSYS2 MinGW 32 位和 MSYS2 MinGW 64 位打开的每个命令窗口中,运行以下命令:

cd /c/Temp/gmp-6.1.2 ./configure --enable-fat --disable-static --enable-shared --prefix=/c/Temp/x86 or x64 make make check make install

--prefix 指定安装文件夹。请注意,Windows C:
驱动器被指定为 MinGW 窗口中的根 /C/ 文件夹。另请注意,configure 和 make 命令将针对新解压缩的 GNU MP 源运行。make install 命令在 C:\Temp\x86 和 C:\Temp\x64 文件夹中创建 libgmp-10.dll。GNU MP 库的这两个编译版本将被复制到 Math.Gmp.Native Visual Studio 项目的 x86 和 x64 文件夹中。它们也可以直接复制到 bin/Debug 或 bin/Release 文件夹的 x86 和 x64 文件夹中。

32 位和 64 位 make check 命令会生成一些警告,但所有测试都成功通过。

于 2022-02-05T17:25:52.017 回答