跳转到内容

GLPK/Windows 可执行文件

来自维基教科书,开放世界中的开放书籍

适用于 Windows 的 GLPK

[编辑 | 编辑源代码]

第三方 适用于 Windows 的 GLPK (winglpk) 项目定期发布基于官方 GLPK 源文件的预编译 Windows 可执行文件。提供了适用于 32 位和 64 位操作系统的可执行文件。不需要管理员权限。适用于 Windows 的 GLPK 分发版还包括 适用于 Java 的 GLPK,它为 Java 编程语言提供了绑定。

该项目处于活跃状态,更新后的可执行文件通常在官方 GLPK 发布后仅几天内就会发布。对于不想手动构建和安装 GLPK 的 Windows 用户来说,这是最佳选择。

从 Sourceforge 下载档案后,请计算 MD5 和 SHA1 校验和,并将其与 Sourceforge 提供的值进行比较。为此,您可以使用 Microsoft 的 文件校验和完整性验证器实用程序[1],例如:

fciv.exe -both winglpk-4.47.zip

下载的档案需要解压缩。这可以使用 7-zip 完成,7-zip 可在 http://www.7-zip.org/ 获取。您可以将解压缩的目录 (glpk-4.47) 移动到您喜欢的任何位置,例如“C:\program files\GLPK”。

目录 w32 包含 32 位二进制文件,而 w64 包含 64 位二进制文件。

您通常希望将 GLPK 动态链接库 (glpk_4_47.dll) 放在二进制文件的搜索路径中。您可以相应地更改环境PATH变量,或将 glpk_4_47.dll 复制到“C:\windows\system32\”。打开控制中心,并在搜索字段中输入“环境”,找到设置环境变量的控制。

这个 2012 年中期的帮助列表 帖子 包含与 Microsoft Visual Studio 2010 C++ IDE 相关的设置的 PNG 格式屏幕截图 - 偏好屏幕截图的用户会发现这些图像特别有用。

使用 GLPK 库构建 C 程序

[编辑 | 编辑源代码]

以下描述介绍了如何使用 GLPK 库构建第一个程序。假设使用的是 32 位系统。

  • 打开 Visual Studio Express 2010 C++
  • 创建一个新的“Win32 控制台应用程序”
  • 不要选择编译的头文件
  • 打开“项目属性”对话框
  • 在链接器 > 输入 > 附加依赖项中:添加"C:\Program Files\GLPK\glpk-4.47\w32\glpk_4_47.lib"
  • 在配置属性 > VC++ 目录 > 包含目录中:添加 "C:\Program Files\GLPK\glpk-4.47\src

输入以下代码,然后按F5编译并运行测试

#include <stdio.h>
#include <conio.h>
#include "glpk.h"

int main(int argc, char* argv[]) {
    printf ("GLPK version %s\n", glp_version());
    printf ("Press any key\n");
    while (!kbhit()){}
    getch();
    return 0;
}

程序将输出 GLPK 版本,并等待按下任何键,例如:

GLPK version 4.47
Press any key

如果您使用的是预编译的头文件test.cpp将是

#include "stdafx.h"
int main(int argc, char* argv[]) {
    printf ("GLPK version %s\n", glp_version());
    printf ("Press any key\n");
    while (!kbhit()){}
    getch();
    return 0;
}

stdafx.h将是

#pragma once
#include <stdio.h>
#include <conio.h>
#include "glpk.h"

其他背景

[编辑 | 编辑源代码]

Andy Trapp 在 2009 年关于 GLPK 的演示文稿[2] 对在 Windows 上使用 GLPK 做了很好的介绍(尽管某些细节不再是最新的)。

参考资料

[编辑 | 编辑源代码]
  1. "文件校验和完整性验证器实用程序的可用性和描述". Microsoft. 检索于 2011-09-24. {{cite web}}: 未知参数 |month= 被忽略 (帮助)
  2. Trapp, Andy (2009). "IE 2082: GLPK 简介" (PDF) (演示文稿). 检索于 2011-09-24.
华夏公益教科书