跳轉到內容

GLPK/Windows

來自華夏公益教科書,開放的世界,開放的書籍

本頁面解釋瞭如何從原始碼為 Windows 作業系統編譯 GLPK。並且,如果您願意,還可以瞭解如何連結到生成的 DLL 執行時庫。如果您遇到困難,請務必查閱編譯器文件。

預編譯選項:作為替代方案,GLPK 也作為 預編譯的 Windows 可執行檔案 提供。這明顯比從頭開始編譯更方便。但是,手動構建允許您自定義構建配置,以便生成的庫可以更好地匹配您的環境和需求。

Microsoft Visual C++ (MSVC) 編譯器

[編輯 | 編輯原始碼]

需要以下軟體包

Visual Studio 2010 Service Pack 1 (SP1) 刪除了 SDK 64 位編譯器 [1]。要安裝 64 位編譯器,請按照以下步驟操作

檢查檔案 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat 是否存在。如果不存在,請使用以下內容建立它

CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64

ftp://ftp.gnu.org/gnu/glpk/GNU 映象 中下載原始碼分發版。使用以下命令提取存檔WinZip或類似命令。

使用 批處理檔案 構建 GLPK,並提供了適用於不同 Windows 版本的批處理檔案。64 位 Windows 使用者應導航到w64子目錄,而 32 位 Windows 使用者應導航到w32子目錄。

名為Build_GLPK_with_VC10.bat的批處理檔案將 GLPK 構建為靜態庫,而名為Build_GLPK_with_VC10_DLL.bat的批處理檔案將 GLPK 構建為動態連結庫。通常情況下,最好構建 動態連結庫

在批處理檔案中Build_GLPK_with_VC10_DLL.bat,以下行指定了 Visual C++ 的安裝位置

set HOME="C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC"

如有必要,請透過編輯檔案調整此路徑。所有 Windows 系統上都提供 記事本 編輯器。

您可以透過從 Windows 檔案資源管理器 中雙擊批處理檔案來啟動構建過程。或者,您也可以使用命令 shell,選擇執行開始選單,在對話方塊中鍵入 cmd,然後按“確定”。在這種情況下,首先導航到您提取 GLPK 的路徑 - 在本例中,我們假設C:\temp,GLPK 4.45,以及 64 位 Windows

> cd C:\temp\glpk-4.45\w64

然後執行所需的構建指令碼 - 在進行任何必要的修改(參見上文)之後。對於動態連結庫,呼叫

> Build_GLPK_with_VC10_DLL.bat

對於靜態庫,請改為呼叫 Build_GLPK_with_VC10.bat

批處理檔案還會執行測試模型。確保控制檯視窗中在末尾附近出現以下訊息

OPTIMAL SOLUTION FOUND

Visual Studio 專案

[編輯 | 編輯原始碼]

Visual Studio 專案也可以輕鬆構建,但是您需要

  • 提供glpk.h
  • 的位置,幷包含兩個 GLPK 原始碼子目錄src/amdsrc/colamd

Windows CE

[編輯 | 編輯原始碼]

Windows CE 是微軟的嵌入式作業系統。

要為 Windows CE 6 構建軟體包,將需要 VisualStudio 2005平臺構建器。您首先構建一個定製的 BSP,然後構建一個作業系統設計,最後構建一個針對該作業系統設計的 SDK。最好將其作為靜態庫完成所有操作,然後將生成的檔案下載到您的 Windows CE 裝置。

您還需要指定glpk.h的位置,並在當前作業系統設計的子專案中包含 GLPKsrc/amdsrc/colamd目錄。

還可以檢視 2011 年 6 月的 主題,以獲取更多詳細資訊。

Borland C++ 編譯器

[編輯 | 編輯原始碼]

免費的 Borland C++ 5.5 編譯器的開發在幾年前就停止了,但它仍然可以在 edn.embarcadero.com/article/20633 上獲得。

針對 Borland C++ 編譯器的構建指令碼在 GLPK 版本 4.37 之前包含在內,之後就被刪除了。

GNU GCC (透過 MinGW) 編譯器

[編輯 | 編輯原始碼]

MinGW(Minimalist GNU for Windows)是 GNU 編譯器集合 (GCC) 和 Binutils 的移植版本,旨在支援在 Windows 本身開發原生 Microsoft Windows 應用程式。

針對 MinGW 的構建指令碼在 GLPK 版本 4.37 之前包含在內,之後就被刪除了。

在 MSYS(Minimal SYStem)環境中,可以使用適當的 POSIX makefile 構建 GLPK。

GNU GCC (透過 Cygwin) 編譯器

[編輯 | 編輯原始碼]

Cygwin 是一個適用於 Microsoft Windows 的類 Unix 環境和命令列介面。

在 Cygwin 環境中,可以使用適當的 POSIX makefile 構建 GLPK。

Dev-C++ 是一個適用於 Microsoft Windows 的 IDE,它提供 GNU GCC 編譯器的前端。截至 2011 年,Dev-C++ 尚未積極開發,但衍生專案 wxDev-C++ 正在開發中。GLPK 以前為 Dev-C++ 提供 makefile,但現在不再提供。如果您需要其他選擇,請考慮使用 Microsoft Visual Studio Express。

參考文獻

[編輯 | 編輯原始碼]
  1. "KB2519277 - 修復:當安裝 Windows SDK v7.1 時,將 Visual Studio 2010 Professional 或 Visual Studio 2010 Express 升級到 Visual Studio 2010 SP1 會刪除 Visual C++ 編譯器". 微軟. 2011-03-30. 檢索於 2012-02-27.
華夏公益教科書