GLPK/Windows
本页面解释了如何从源代码为 Windows 操作系统编译 GLPK。并且,如果您愿意,还可以了解如何链接到生成的 DLL 运行时库。如果您遇到困难,请务必查阅编译器文档。
预编译选项:作为替代方案,GLPK 也作为 预编译的 Windows 可执行文件 提供。这明显比从头开始编译更方便。但是,手动构建允许您自定义构建配置,以便生成的库可以更好地匹配您的环境和需求。
需要以下软件包
- Microsoft Visual C++ 2010 Express
- Microsoft Windows SDK
- WinZip, 7-Zip,或其他解压缩工具,用于提取gzip和tar文件
Visual Studio 2010 Service Pack 1 (SP1) 删除了 SDK 64 位编译器 [1]。要安装 64 位编译器,请按照以下步骤操作
- 安装 Visual-CPP Microsoft Visual C++ 2010 Express。
- 安装 Microsoft Windows SDK for Windows 7 and .NET Framework 4,不含“Visual C++ 编译器”。
- 安装 Visual Studio 2010 Service Pack 1 (SP1)
- 安装 Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1
检查文件 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat 是否存在。如果不存在,请使用以下内容创建它
CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
从 ftp://ftp.gnu.org/gnu/glpk/ 或 GNU 镜像 中下载源代码分发版。使用以下命令提取存档WinZip或类似命令。
使用 批处理文件 构建 GLPK,并提供了适用于不同 Windows 版本的批处理文件。64 位 Windows 用户应导航到w64子目录,而 32 位 Windows 用户应导航到w32子目录。
名为Build_GLPK_with_VC10.bat的批处理文件将 GLPK 构建为静态库,而名为Build_GLPK_with_VC10_DLL.bat的批处理文件将 GLPK 构建为动态链接库。通常情况下,最好构建 动态链接库。
在批处理文件中Build_GLPK_with_VC10_DLL.bat,以下行指定了 Visual C++ 的安装位置
set HOME="C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC"
如有必要,请通过编辑文件调整此路径。所有 Windows 系统上都提供 记事本 编辑器。
您可以通过从 Windows 文件资源管理器 中双击批处理文件来启动构建过程。或者,您也可以使用命令 shell,选择运行开始菜单,在对话框中键入 cmd
,然后按“确定”。在这种情况下,首先导航到您提取 GLPK 的路径 - 在本例中,我们假设C:\temp,GLPK 4.45,以及 64 位 Windows
> cd C:\temp\glpk-4.45\w64
然后执行所需的构建脚本 - 在进行任何必要的修改(参见上文)之后。对于动态链接库,调用
> Build_GLPK_with_VC10_DLL.bat
对于静态库,请改为调用 Build_GLPK_with_VC10.bat
。
批处理文件还会运行测试模型。确保控制台窗口中在末尾附近出现以下消息
OPTIMAL SOLUTION FOUND
以下说明可能已过时,最好直接重定向到 使用 GLPK 库构建 C 程序! |
Visual Studio 项目也可以轻松构建,但是您需要
- 提供glpk.h
- 的位置,并包含两个 GLPK 源代码子目录src/amd和src/colamd
Windows CE 是微软的嵌入式操作系统。
以下说明不完整 - 如果可以,请更新它们 |
要为 Windows CE 6 构建软件包,将需要 VisualStudio 2005 和 平台构建器。您首先构建一个定制的 BSP,然后构建一个操作系统设计,最后构建一个针对该操作系统设计的 SDK。最好将其作为静态库完成所有操作,然后将生成的文件下载到您的 Windows CE 设备。
您还需要指定glpk.h的位置,并在当前操作系统设计的子项目中包含 GLPKsrc/amd和src/colamd目录。
还可以查看 2011 年 6 月的 主题,以获取更多详细信息。
免费的 Borland C++ 5.5 编译器的开发在几年前就停止了,但它仍然可以在 edn.embarcadero.com/article/20633 上获得。
针对 Borland C++ 编译器的构建脚本在 GLPK 版本 4.37 之前包含在内,之后就被删除了。
MinGW(Minimalist GNU for Windows)是 GNU 编译器集合 (GCC) 和 Binutils 的移植版本,旨在支持在 Windows 本身开发原生 Microsoft Windows 应用程序。
针对 MinGW 的构建脚本在 GLPK 版本 4.37 之前包含在内,之后就被删除了。
在 MSYS(Minimal SYStem)环境中,可以使用适当的 POSIX makefile 构建 GLPK。
Cygwin 是一个适用于 Microsoft Windows 的类 Unix 环境和命令行界面。
在 Cygwin 环境中,可以使用适当的 POSIX makefile 构建 GLPK。
Dev-C++ 是一个适用于 Microsoft Windows 的 IDE,它提供 GNU GCC 编译器的前端。截至 2011 年,Dev-C++ 尚未积极开发,但衍生项目 wxDev-C++ 正在开发中。GLPK 以前为 Dev-C++ 提供 makefile,但现在不再提供。如果您需要其他选择,请考虑使用 Microsoft Visual Studio Express。