ilink64 Error - Fatal: Unable to open file 'DBRTL.LIB'

2.3k Views Asked by At

I'm trying to migrate my code from borland 2006 to Embarcadeiro Berlin.

I've already updated the BDE on the pier site.

I've already included includes .hpp for the new ones.

I have already deleted the dependencies in the project through the text editor, I have already inserted the pragma warning in the code and nothing solves it.

I already disabled runtime library, etc etc...

Everything compiles and works on Win32.

But does not work in win64

dbrtl.lib

[ilink64 Error] Unable to open file 'DRTL.LIB'
1

There are 1 best solutions below

0
borgomeister On

First I installed the BDE upgrade package for the Embarcadero (5).

I opened the Bde.BDTables.hpp (c:\program files (x86)\Embarcadero\Studio\18.0\include\windows\rtl\Bde.BDTables.hpp) file, and replaced part of the code with this following code snippet (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

I also deleted any reference to the runtime package:

CppLinker

enter image description here

And put the _WIN64 directive on platform 64

enter image description here

And finally I was able to compile without problems in WIN64

References:

ilink64-error-fatal-unable-to-open embarcadero downloads