You are not logged in.
Pages: 1
Hi AB
i get this error:
[dcc32 Fehler] SynSQlite3Static.pas(1294): E2065 Ungenügende Forward- oder External-Deklaration: '__ieee_32_p_inf'
linking latest (self build) sqlite3.obj
Here is my build command
"c:\Program Files (x86)\Embarcadero\Studio\20.0\bin\bcc32.exe" -6 -Oi -O2 -c -d -u- -I"c:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared" sqlite3.c
do you have any idea whats missing ? (With your sqlite3.obj i can link successfully)
Rad Studio 12.1 Santorini
Offline
But i do not get this error using compiled SQLite 3.28 obj. It came with 3.29.
Normally i would say that the linker is missing a lib file with the named function...
Embarcadero made a lot changes to bcc in 10.3.2 and it may be a solution to use an older Version but why - if its only a missing function ?
Rad Studio 12.1 Santorini
Offline
__ieee_32_p_inf seems like some low-level 32-bit floating-point (single) conversion function, needed by the latest version of the BCC compiler, and not needed before.
I don't have it to reproduce here.
What is wrong with using the sqlite.obj file we supply?
Offline
Oh nothing wrong with, but i build them by myself because i also build the 64Bit Versions
Rad Studio 12.1 Santorini
Offline
Hi AB, just to close this issue.
the external symbol __ieee_32_p_inf is defined in math.h if INFINITY is not defined
in 3.28 there seems to be INFINTY defined (i can not find out where ..)
in 3.29 it is not defined resulting in using the definition from math.h
in Line 30821 of 3.29 sqlite.c it is used. In 3.28 the constant and in 3.29 the external definition.
As work around in changed the code to use the constant in 3.29 as in 3.28 - Now i can link it again.
}else{
// #ifdef INFINITY // auskommentiert by itSDS
// result = INFINITY*s; // auskommentiert by itSDS
//#else // auskommentiert by itSDS
result = 1e308*1e308*s; /* Infinity */
//#endif // auskommentiert by itSDS
}
Rad Studio 12.1 Santorini
Offline
yes i'm in contact with bruneau from embarcadero who found the reason in sqlite.c. SQLite 3.29 includes math.h but 3.28 does not.
if you have access to the embarcadero discourse page you can read about it
Last edited by itSDS (2019-07-29 20:47:09)
Rad Studio 12.1 Santorini
Offline
Pages: 1