Embarcadero RAD Studio 11.2 created 64-bit dlls with a library file that used the extension ".a".
In the newest Embarcadero RAD Studio 12.1 there is a new 64-bit compiler named "Windows 64-bit (modern)". This compiler creates dlls and a library file with the extension ".lib"
I am trying to use my existing 64-bit dlls which have the ".a" library file, in projects using the new RAD Studio 12.1 Windows 64-bit (modern) compiler. RAD Studio 12.1 allows me to add the ".a" library file to the project but the compiler gives the error
[ld.lld Error] ld.lld: error: unknown file type: MyDll.
How can I use an Embarcadero 64-bit dll with the ".a" library file, in an application created with the new Embarcadero compiler "Windows 64-bit (modern)"?
I did see the blog post below describing creating a dll import library, but there is no indication this should be used with dlls created by Embarcadero RAD Studio.
The old bcc64 compiler/linker uses .a
files in AR format. The new bcc64x compiler/linker uses .lib
files in COFF64 format. You will have to generate new COFF libs for your existing DLLs. The blog article you linked to tells you how to do that.
FWIW, historically C++Builder has always required generating new DLL import libs when moving DLLs from one compiler version to another.