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

C++ Builder 應用程式部署指南:解決「找不到動態庫」的經典錯誤

     編輯:VC 教學

問題現象

在安裝了 C++ Builder 的開發機上編譯運行完美,但將生成的 EXE 複製到無開發環境的目標機器時,啟動即彈出「找不到 xxx.bpl」或「缺少 RTL 動態庫」等錯誤。這是初學者最常遇到的「發布難題」。

根本原因

預設專案設置為動態連結運行時套件,導致 EXE 依賴外部 BPL(Borland Package Library)與 RTL 動態庫。目標機未安裝 BCB,自然找不到這些文件。

三步徹底解決(以 BCB6 為例)

  1. 切換到 Release 配置
    專案 → Options → Compiler → 勾選 Release(而非 Debug)。
  2. 禁用「Build with runtime packages」
    專案 → Options → Packages → 取消勾選 Build with runtime packages。
    效果:將 VCL/RTL 代碼靜態鏈接進 EXE,不再依賴 .bpl 文件。
  3. 禁用「Use dynamic RTL」
    專案 → Options → Linker → 取消勾選 Use dynamic RTL。
    效果:將 C 運行庫靜態鏈接,徹底擺脫 borlandmm.dll、rtl150.bpl 等動態庫。

驗證與補充

  • 重新編譯後,使用 TDump 或 Dependency Walker 檢查 EXE 導入表,確認無 BPL 依賴。
  • 若仍報錯,檢查是否引用了第三方動態組件(如 Indy、FastReport 等),同理將其設為靜態鏈接或隨程式部署對應 .bpl。
  • 靜態鏈接會使 EXE 體積增大(通常 +300KB~1MB),換取的是「零依賴、即複製即運行」的部署便利性,絕大多數桌面應用此利大於弊。

進階:自動化構建腳本

在專案組中建立兩組配置:Debug_Dynamic(開發調試用,編譯快)與 Release_Static(發布用),配合批處理或 CI/CD 一鍵產出乾淨的發布包。

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