【问题标题】:ilink64 Error - Fatal: Unable to open file 'DBRTL.LIB'ilink64 错误 - 致命:无法打开文件 'DBRTL.LIB'
【发布时间】:2023-03-28 21:05:01
【问题描述】:
我正在尝试将我的代码从 borland 2006 迁移到 Embarcadeiro Berlin。
我已经更新了码头站点上的 BDE。
我已经为新的包含了 .hpp。
我已经通过文本编辑器删除了项目中的依赖,我已经在代码中插入了pragma警告,没有任何解决。
我已经禁用了运行时库等...
一切都在 Win32 上编译和工作。
但是在win64下不行
dbrtl.lib
[ilink64 Error] Unable to open file 'DRTL.LIB'
【问题讨论】:
标签:
migration
c++builder-2010
【解决方案1】:
首先我为 Embarcadero (5) 安装了 BDE 升级包。
我打开了 Bde.BDTables.hpp (c:\program files (x86)\Embarcadero\Studio\18.0\include\windows\rtl\Bde.BDTables.hpp) 文件,并用以下代码替换了部分代码代码 sn-p (4):
#ifdef USEPACKAGES
#pragma link "dbrtl.bpi"
#pragma link "vcldb.bpi"
#pragma link "vcl.bpi"
#else
#pragma link "dbrtl.lib"
#pragma link "vcldb.lib"
#pragma link "vcl.lib"
#endif
So, I recoded this to state:
#ifdef USEPACKAGES
#pragma link "dbrtl.bpi"
#pragma link "vcldb.bpi"
#pragma link "vcl.bpi"
#else
#ifdef _WIN64
#pragma link "dbrtl.a"
#pragma link "vcldb.a"
#pragma link "vcl.a"
#else
#pragma link "dbrtl.lib"
#pragma link "vcldb.lib"
#pragma link "vcl.lib"
#endif
#endif
我还删除了对运行时包的任何引用:
并将 _WIN64 指令放在平台 64 上
最后我能够在 WIN64 下毫无问题地编译
参考资料:
ilink64-error-fatal-unable-to-open
embarcadero downloads