背景:Nokia + Eclipse 基金會合作產物
Carbide.c++ 基於 Eclipse,專為 Symbian 平台設計。掌握原理才能順利建置。目標裝置:Nokia 5800 (S60 5th Edition)。
依賴鏈完整安裝順序 (嚴格版本鎖定)
- ActivePerl 5.6.1.635:
ftp://ftp.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.635-MSWin32-x86.msi
官方強制指定版本,新舊版本皆可能出問題
- JRE 1.6 (或 1.5):
https://java.sun.com/javase/downloads/
僅開發不需 JDK,裝 JRE 即可
- S60 5th Edition SDK v1.0:
https://www.forum.nokia.com/... (需註冊 Nokia Forum)
安裝結束必須勾選 CSL Toolchain (GCCE),否則無法針對實體手機編譯
- Carbide.c++ 2.0 Develop Express:
https://www.forum.nokia.com/...
安裝結束配置環境變數
關鍵避坑:環境變數配置時機
- Carbide 安裝提示:若僅對模擬器開發,無需配置命令列環境
- 實測發現:針對實體手機 (GCCE) 編譯時,必須執行「Configure environment for WINSCW command line」,否則編譯失敗
- 此問題耗時兩天排查,血淚教訓:無論模擬器/實機,先跑一次環境配置再說
驗證流程:HelloWorld 從模擬器到實機
- 導入 SDK `helloworldbasic` 範例
- 模擬器 (WINSCW) 執行 → OK
- Phone Release (GCCE) 編譯 → 成功
- PC Suite 部署到 5800 實機
- 安裝提示「軟體不相容」→ 忽略繼續 → 安裝完成
- 實機運行:初現 "File IO Error",重啟後正常運行
經驗總結與時代注腳
- 版本鎖定是嵌入式工具鏈生存法則:Perl/JRE/SDK/IDE 版本任一不對齊即失效
- 環境變數配置不可省略,建議寫入團隊標準化腳本
- 實機部署測試不可替代:模擬器通不代表實機通 (File IO Error 案例)
- 歷史背景:Symbian 已停止發展,Nokia 轉型 Windows Phone 後終結。Carbide.c++ 現為歷史遺產,僅供維護舊專案參考
現代嵌入式開發對標
若今日面對嵌入式 Linux/RTOS 開發:
- 工具鏈:Yocto/Buildroot + GCC/Clang + CMake/Meson
- IDE:VS Code + Cortex-Debug / CLion / Qt Creator
- 除錯:J-Link + GDB Server / OpenOCD
- CI/CD:GitLab CI / GitHub Actions 交叉編譯
結語
Carbide.c++ 建置過程是嵌入式工具鏈「版本地獄」與「環境敏感」的典型縮影。雖技術棧已成歷史,但版本鎖定、環境標準化、實機驗證、標準化腳本四大工程原則永不過時。向經典致敬,向現代邁進。