跳轉到內容

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.
華夏公益教科書