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

C++Builder 部署指南:解決「找不到動態連結庫」運行錯誤的三步設定

     編輯:關於C++

C++Builder 初學者最常遇到的問題:開發機上編譯完美,複製 .exe 到無安裝 BCB 的電腦卻彈出「找不到 xx.bpl / rtlxx.bpl 等動態連結庫」錯誤。這是因為預設專案設定為動態連結執行期套件 (Runtime Packages)與動態 RTL。只需調整三項專案選項,即可產出獨立無相依的靜態連結執行檔。

解決方案:三步設定靜態連結

  1. 建置配置切換至 Release
    選單 Project → Options → Compiler,左側 Configuration 下拉選單選 Release (或 All Configurations 統一設定)。
  2. 停用「建置時使用執行期套件」
    Project → Options → Packages,取消勾選 Build with runtime packages (Builder with runtime packages)。
  3. 停用「使用動態 RTL」
    Project → Options → Linker,取消勾選 Use dynamic RTL。

設定效果對照

設定預設 (動態)修改後 (靜態)
執行檔大小較小 (~100-300 KB)較大 (~1-3 MB,含 VCL/RTL 程式碼)
部署檔案.exe + 多個 .bpl (rtl, vcl, inet, xml...)僅 .exe (單一檔案部署)
目標機需求需安裝對應版本 BCB Runtime Packages無額外需求 (純 Windows API)
記憶體共享多程式共享 BPL 記憶體各自獨立載入,記憶體佔用較高
版本衝突易發生 BPL 版本不符 (DLL Hell)完全隔離,無版本衝突

補充說明

  • Debug 配置:建議 Debug 模式保持動態連結,便於除錯與快速編譯;正式發佈才切換至 Release 靜態連結。
  • 第三方元件:若專案使用第三方 VCL 元件包,停用動態套件後,該元件原始碼會被靜態連結進 .exe,無需部署其 .bpl。
  • 資源檔/資料庫驅動:資料庫驅動 (如 dbExpress, FireDAC) 通常仍需對應的 DLL (如 midast.dll, dbxfb.dll) 隨 .exe 部署,此設定不影響驅動 DLL 載入。
  • C++Builder 10.x+ 版本:介面略有不同,但選項名稱相同 (Link with Runtime Packages, Dynamic RTL),位於 Project → Options → Building → Delphi Compiler / C++ Compiler → Linking。

快速驗證

  1. 套用設定後 Clean → Build 專案。
  2. 使用 Dependency Walker (depends.exe) 或 Process Monitor 開啟 .exe,確認不再載入 rtl*.bpl, vcl*.bpl 等 Borland 封裝檔。
  3. 複製 .exe 到乾淨虛擬機/無 BCB 電腦測試執行。

掌握這三項設定,即可輕鬆解決 C++Builder 應用程式部署最常見的「缺少動態連結庫」問題,實現真正的綠色單一檔案發佈。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved