首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

MinGW 編譯環境配置與 onscripter-en 建置實戰筆記

     編輯:關於C語言

記錄 Windows 下 MinGW/MSYS 環境配置關鍵步驟,以及針對 onscripter-en 專案的交叉編譯參數調優,解決 _wfopen、off64_t 未定義等常見錯誤。

MinGW/MSYS 基礎配置

1. fstab 掛載 MinGW 目錄

# C:\MinGW\msys\1.0\etc\fstab
# 複製 fstab.sample 內容後新增:
C:/MinGW/mingw

2. profile 環境變數設定

# C:\MinGW\msys\1.0\etc\profile
# 在原有 PATH 邏輯前插入:
PATH=
INCLUDE=
LIB=

if [ $MSYSTEM == MINGW32 ]; then
    export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
else
    export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
fi

onscripter-en 編譯參數優化

SDLOTHERCONFIG=--disable-assembly ./configure \
  --std=gnu++98 --no-werror --with-internal-libs \
  && make VERBOSE=true CSTD=-std=gnu99

關鍵參數解析

| 參數 | 作用 | |------|------| | --std=gnu++98 | 啟用 GNU C++98 擴充(關閉 __STRICT_ANSI__),解決 _wfopen、off64_t 未定義 | | -std=gnu99 | 同理對 C 程式碼啟用 GNU C99 擴充 | | --disable-assembly | 禁用手寫組語優化,提升相容性 | | --with-internal-libs | 使用內建庫避免外部依賴衝突 | | --no-werror | 降級警告為非錯誤,避免編譯中斷 |

常見錯誤與對策

錯誤訊息原因解決
_wfopen undefined嚴格 ANSI 模式隱藏 MS 專用函數改用 gnu++98/gnu99
off64_t undefined大檔案支援需 _LARGEFILE_SOURCE同上,GNU 模式自動開啟
連結找不到庫路徑順序錯誤調整 LIB/PATH 優先序

驗證建置成果

# 確認執行檔產生
ls -l onscripter-en.exe

# 執行測試
./onscripter-en --version

總結

  • MSYS fstab 與 profile 是 MinGW 命令列工具鏈正常運作的基石。
  • GNU 延伸標準(gnu++98/gnu99)是解決 Windows 平台 POSIX 函數缺失的關鍵開關。
  • 建置腳本化(build.sh)可避免手動參數遺漏,利於 CI/CD 整合。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved