GLPK/使用 GLPK 库编译
此页面展示如何创建链接到 GLPK 库的简单程序。目的是向用户展示如何开始使用 GLPK API。
以下示例展示如何使用 GLPK 库和 GNU GCC 编译器编译一个最小的 C 语言 程序。该程序输出 GLPK 版本号。
在 Linux 或 Mac OS X 上,打开控制台并创建源文件test.c通过输入(或使用您喜欢的文本编辑器)
cat << EOF > test.c #include "stdio.h" #include "glpk.h" int main(int argc, const char *argv[]) { printf("GLPK Version: %s\n", glp_version()); return 0; } EOF
使用以下命令编译并链接此程序
gcc test.c -lglpk -o test
然后使用以下命令执行应用程序
./test
以下示例展示如何使用 GLPK 库和 Microsoft Visual Studio C++ 2008 编译一个最小的 C 语言 程序(C 代码和必要的设置步骤也适用于 Visual Studio C++ 2010)。该程序输出 GLPK 版本号。
创建一个名为 TESTGLPK 的新项目,类型为“Win32 控制台应用程序”。然后编辑源文件TESTGLPK.cpp:
// TESTGLPK.cpp : Defines the entry point for the console application. #include "stdafx.h" #include "stdio.h" #include "glpk.h" int _tmain(int argc, _TCHAR* argv[]) { printf("%s\n", glp_version()); printf("Press Enter\n"); getchar(); return 0; }
然后编辑项目 TESTGLPK 的属性
- 在“配置属性” - “C/C++” 中:将“附加包含目录”设置为包含glpk.h的路径,例如"C:\Program Files\glpk\glpk-4.45\include"
- 在“配置属性” - “链接器” - “输入” 中:将“附加依赖项”设置为 GLPK 库,例如"C:\Program Files\glpk\glpk-4.45\w32\glpk_4_45.lib"
GLPK DLL(例如 glpk_4_47.dll)必须位于 MS Windows 可以在执行 TESTGLPK 应用程序时找到它的位置。合适的位置包括 TESTGLPK 可执行文件所在的目录或 Windows 系统目录。[1] 有关一些屏幕截图,请参阅 Trapp (2009)。[2]
Qt 是一个跨平台应用程序和 UI 框架。Qt 在 LGPL 许可下发布。
以下示例展示如何编译一个使用 GLPK 库的最小的 Qt 程序。该程序输出 GLPK 版本号。
打开 QT Creator 并创建一个新的 QT 控制台应用程序,项目名称为qtglpk. 然后将以下行(假设 GLPK 版本为 4.45)添加到项目文件中qtglpk.pro:
LIBS += -L"C:\Program Files\glpk\glpk-4.45\w32" -lglpk_4_45 INCLUDEPATH += "C:\Program Files\glpk\glpk-4.45\include"
您可能需要调整路径和库名称以适合您的安装。
然后更改main.cpp的文本为
#include <QtCore/QCoreApplication> #include <QTextStream> #include "glpk.h" int main(int argc, char *argv[]) { QTextStream out(stdout); QTextStream in(stdin); out << "GLPK version: " << glp_version() << "\n"; out << "Press Enter\n"; out.flush(); in.readLine(); QCoreApplication::quit(); }
最后,按 CTRL + R 构建并运行应用程序。
- ↑ Microsoft (June 16, 2003). "Development Impacts of Security Changes in Windows Server 2003". Retrieved 31 December 2011.
- ↑ Andy Trapp (November 2, 2009). "IE 2082: Introduction to GLPK" (PDF). Retrieved 28 December 2010.