跳转到内容

GLPK/使用 GLPK 库编译

来自 Wikibooks,开放世界中的开放书籍

此页面展示如何创建链接到 GLPK 库的简单程序。目的是向用户展示如何开始使用 GLPK API。


使用 GCC 编译

[编辑 | 编辑源代码]

以下示例展示如何使用 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

使用 Visual Studio C++ 编译

[编辑 | 编辑源代码]

以下示例展示如何使用 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 编译

[编辑 | 编辑源代码]

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 构建并运行应用程序。

参考文献

[编辑 | 编辑源代码]
  1. Microsoft (June 16, 2003). "Development Impacts of Security Changes in Windows Server 2003". Retrieved 31 December 2011.
  2. Andy Trapp (November 2, 2009). "IE 2082: Introduction to GLPK" (PDF). Retrieved 28 December 2010.
华夏公益教科书