Page 1 of 1

ilink64 error with ZeosLib

PostPosted: Mon Jul 23, 2018 6:37 pm
by macicogna
Hi All,

I'm trying to compile ZeosLib version 7.2.4 (Stable) with C++Builder 10.2.3 Tokyo for target platform Win64.

I'm able to compile and test the packages for Win32, but I got a ilink64 error with Win64 :

Code: Select all
[ilink64 Error] Error: Unresolved external 'Zmessages::STokenizerIsNotDefined' referenced from C:\USERS\MACIC\BCBCOMPNEW\ZEOSLIB\PACKAGES\CBUILDERXE102\WIN64\RELEASE\LIB\ZSCRIPTPARSER.O


The first package, ZCore250.bpl just requires rtl.bpi and the second package, ZParseSql250.bpl, requires rtl.bpi and ZCore.bpi.

The package ZCore250.bpl contains a unit called ZMessages.pas and the problematic STokenizerIsNotDefined are declared and defined like this:

Code: Select all
unit ZMessages;

interface

{$I ZCore.inc}

uses ZCompatibility;

procedure loadmessages();

const
//...

resourcestring
//...
  cSTokenizerIsNotDefined = 'l''objet Tokenizer n''est pas défini';
//...
  cSTokenizerIsNotDefined = 'Tokenizer is not defined';

var
//...
  STokenizerIsNotDefined: String;
//...
implementation

procedure loadmessages;
begin
//...
  STokenizerIsNotDefined := cSTokenizerIsNotDefined;


Checking the ilink64 command, I can confirm that the .o location is right:

Code: Select all
ilink64 command line
  c:\program files (x86)\embarcadero\studio\19.0\bin\ilink64.exe -G8

-LC:\Users\macic\BCBCompNew\ZeosLib\packages\CBuilderXE102\Win64\Release\Lib;


Could be a problem, or any kind of project configuration with the 64bit compiler and linker dealing with this ZMessages.pas code?

Any help or hint is appreciated.

Regards,

Marcelo.