GLPK/编译 GLPK
外观
< GLPK
许多用户更喜欢从源代码编译 GLPK - 尽管对于 Windows 系统、基于 Debian 和 Red Hat 的 Linux 发行版以及其他平台,预编译的二进制文件通常可用。 手动编译的优点将在下面列出。
GLPK 为一系列平台提供 makefile 和批处理文件,并以其简单的构建而闻名 - 只要您的开发环境正确设置。
拥有 GLPK 的两个原因是为了获得访问权限
- GLPSOL — 命令行 MathProg 模型解释器和求解器
- libglpk — 可调用的求解器库,您可以将其链接到您的应用程序程序。
手动构建允许您
- 运行最新代码,包含新功能和错误修复
- 定制您的构建,例如,提供对任意精度算术的支持
- 更少依赖于包维护者
- 修改GLPK 代码库。
修改代码库的原因范围从运行时报告调整到混合整数解策略的实验。
您需要决定要构建哪种库
- 静态库 — 使用编译时链接
- 共享库 — 使用运行时链接。
每种库的特点在维基百科上进行了讨论。
如果您打算使用 GLPSOL,那么共享库通常是更好的选择。 如果您计划链接到您正在编写的自定义应用程序,那么静态库意味着您无需分发libglpk与您的应用程序一起。
如果您希望在 GLPSOL 中使用非默认功能(例如任意精度算术),那么您需要使用适当的配置选项手动构建 GLPK(--with-gmp) 并提供正确的第三方库(libgmp).
专门用于在以下操作系统上编译 GLPK 的页面