|
<< Click to Display Table of Contents >> Navigation: Forum > Linker error in IW15.2.65 |
Pages: 1 2
08-11-2022, 01:28 PM:
I get a linker error in Intraweb 15.2.65 with C++Builder 11.1
[ilink32 Fehler] Error: Nicht auflösbares externes 'InternetOpenW' referenziert von C:\ATOZED11\INTRAWEB 15\LIBD11W32\INTRAWEB_15_D11.LIB|IWUtils
[ilink32 Fehler] Error: Nicht auflösbares externes 'InternetOpenUrlW' referenziert von C:\ATOZED11\INTRAWEB 15\LIBD11W32\INTRAWEB_15_D11.LIB|IWUtils
[ilink32 Fehler] Error: Nicht auflösbares externes 'InternetReadFile' referenziert von C:\ATOZED11\INTRAWEB 15\LIBD11W32\INTRAWEB_15_D11.LIB|IWUtils
[ilink32 Fehler] Error: Nicht auflösbares externes 'InternetCloseHandle' referenziert von C:\ATOZED11\INTRAWEB 15\LIBD11W32\INTRAWEB_15_D11.LIB|IWUtils
Regards
Juergen
08-11-2022, 02:50 PM:
Try adding this:
#pragma link "wininet.lib"
08-11-2022, 07:56 PM:
Thanks for the tip, but I'm not using this API.
Apparently the API library is now required by the intraweb library but probably not included.
08-11-2022, 09:04 PM:
>>Apparently the API library is now required by the intraweb library but probably not included.
Correct. If you add it you will be able to link without error, I had to do the same.
08-12-2022, 10:33 AM:
Yes, you're right, but it's not my construction site.
The intraweb library needs to work without my help.
I just upgraded from IW 15.2.64 to IW 15.2.65!
08-12-2022, 05:13 PM:
Isn't IntraWeb written in Delphi? Delphi links to external libraries very differently than C++ does. I would not expect this kind of error to come from a Delphi-written library, even if it is being used in C++Builder. This is the kind of error you would see when C++ code calls a DLL function but the C++ project doesn't link to the DLL, since C++ uses different stages for compiling and linking. Delphi doesn't work that way.
08-12-2022, 06:38 PM:
I think AToZed just needs to add something like below to IWUtils.pas to fix it up for C++ Builder:
{$IFDEF CPUX64}
(*$HPPEMIT '#pragma link "wininet.???"'*)
{$ELSE}
(*$HPPEMIT '#pragma link "wininet.lib"'*)
{$ENDIF}
Probably an oversight. Maybe also add a minimal C++ Builder project to FinalBuilder to detect errors like this.
08-13-2022, 07:23 AM:
Exactly (wininet.a)
08-22-2022, 07:06 AM:
Can you please tell me your C++ project linking options?
I believe MJS is right but not Delphi compiler (or unit test) nor C++ compiler (yes, maybe a unit test) can ever say me that.
08-22-2022, 10:58 AM:
The example contains a new, empty project.
As soon as linking is done without runtime packages, the error occurs.
Options->Packages->RuntimePackages: OFF