John Elrick-2 wrote:
>
> I've been using the Delphi ASGSqlite components with static linking for
> some time with version 3.3.13. I'd like to move on up to 3.4.0,
> however, no one seems to have documented how to do this yet.
>
> I tried compiling the Amalgamation with Borland C++ 5.0 and it generates
> the obj file nicely. However, when I attempt to link the obj into my
> application, I am getting an "unsatisfied forward declaration __streams".
>
> I'm a Delphi programmer and it is more than frustrating attempting to
> figure out what libraries are missing and how to even find them in the
> wide, wonderful world. I programmed in C back in the '80's, so my skill
> set there is beyond rusty.
>
> Can someone point me to resources so I can learn enough to solve these
> types of issues on my own in the future? I've tried Google and it
> hasn't given me anything of value, but I could be asking the wrong
> questions.
>
>
> John Elrick
>
> -----------------------------------------------------------------------------
> To unsubscribe, send email to [EMAIL PROTECTED]
> -----------------------------------------------------------------------------
>
>
>
I have my own static linking script. It is based upon Aducom experience:
make_obj.bat
@ECHO OFF
SET COMPILER_PATH=C:\Progra~1\Borland\CBuilder5\Bin\
REM compile SQLite3 amalgamation:
"%COMPILER_PATH%bcc32.exe" -c -6 -pc -O -w- -RT- -DNO_TCL
-DSQLITE_ENABLE_COLUMN_METADATA sqlite3.c
REM extract more OBJs from CW32.LIB (to current directory):
"%COMPILER_PATH%tlib.exe" %COMPILER_PATH%..\Lib\cw32.lib *files *is
*mbsnbicm *ftol *memset *gmtime *ltolower *strcmp *strncmp *strlen *sprintf
*_ll *memcpy *strcpy *memcmp *atol *hrdir_mf *hrdir_r *strncpy *_ftoul
*ltoupper *initcvt *streams *isctype *tzdata *timefunc *clower *clocale
*vprinter *mbisspc *hrdir_s *cupper *realcvt *scantod *realcvtw *scanwtod
*files2 *allocbuf *fflush *fputn *bigctype *timedata *mbctype *int64toa
*cvtentry *mbyte1 *hrdir_b *realloc *cvtfak *getinfo *xcvt *hugeval *qmul10
*fuildq *_pow10 *ldtrunc *cvtfakw *xcvtw *wcscpy *wis *exit *xfflush
*flushout *lputc *__write *_tzset *tzset *mbisdgt *mbsnbcpy *errormsg
*wcslen *virtmem *heap *memmove *fxam *fuistq *qdiv10 *errno *ctrl87
*wmemset *iswctype *_cfinfo *handles *perror *fputs *patexit *initexit
*__lseek *_write *ioerror *setenvp *calloc *globals *mbsrchr *ermsghlp
*platform *getenv *mbisalp *deflt87 *_cfinfo *__isatty *mbsrchr
in my app, i have unit SQLiteStatic.pas:
unit SQLiteStatic;
interface
// Turn off hints caused by static linking objects.
{$HINTS OFF}
uses
{$IFDEF MSWINDOWS}
Windows,
{$ENDIF} // MSWINDOWS
SQLiteClasses;
//
*****************************************************************************
// *** Linked objects
**********************************************************
//
*****************************************************************************
{$LINK 'OBJ/sqlite3.obj'}
{$LINK 'OBJ/_ftoul.obj'}
{$LINK 'OBJ/files.obj'}
{$LINK 'OBJ/strlen.obj'}
{.$LINK 'OBJ/assert.obj'}
{$LINK 'OBJ/memcmp.obj'}
{$LINK 'OBJ/memcpy.obj'}
{$LINK 'OBJ/memset.obj'}
{$LINK 'OBJ/strcmp.obj'}
{$LINK 'OBJ/strcpy.obj'}
{.$LINK 'OBJ/strcat.obj'}
{$LINK 'OBJ/strncmp.obj'}
{$LINK 'OBJ/strncpy.obj'}
{.$LINK 'OBJ/strncat.obj'}
{$LINK 'OBJ/sprintf.obj'}
{.$LINK 'OBJ/fprintf.obj'}
{$LINK 'OBJ/_ll.obj'}
{$LINK 'OBJ/ltoupper.obj'}
{$LINK 'OBJ/ltolower.obj'}
{$LINK 'OBJ/atol.obj'}
{$LINK 'OBJ/ftol.obj'}
{.$LINK 'OBJ/longtoa.obj'}
{$LINK 'OBJ/hrdir_r.obj'}
{$LINK 'OBJ/gmtime.obj'}
{$LINK 'OBJ/tzdata.obj'}
{$LINK 'OBJ/initcvt.obj'}
{$LINK 'OBJ/streams.obj'}
{$LINK 'OBJ/files.obj'} // DUPLICATE !
{$LINK 'OBJ/scantod.obj'}
{$LINK 'OBJ/scanwtod.obj'}
{$LINK 'OBJ/allocbuf.obj'}
{$LINK 'OBJ/bigctype.obj'}
{$LINK 'OBJ/clocale.obj'}
{$LINK 'OBJ/clower.obj'}
{$LINK 'OBJ/cupper.obj'}
{$LINK 'OBJ/fflush.obj'}
{$LINK 'OBJ/fputn.obj'}
{$LINK 'OBJ/hrdir_s.obj'}
{$LINK 'OBJ/mbisspc.obj'}
{$LINK 'OBJ/mbsrchr.obj'}
{$LINK 'OBJ/realcvt.obj'}
{$LINK 'OBJ/realcvtw.obj'}
{$LINK 'OBJ/timefunc.obj'}
{$LINK 'OBJ/vprinter.obj'}
{$LINK 'OBJ/hugeval.obj'}
{$LINK 'OBJ/cvtfak.obj'}
{$LINK 'OBJ/getinfo.obj'}
{$LINK 'OBJ/qmul10.obj'}
{$LINK 'OBJ/fuildq.obj'}
{$LINK 'OBJ/_pow10.obj'}
{$LINK 'OBJ/ldtrunc.obj'}
{$LINK 'OBJ/cvtfakw.obj'}
{$LINK 'OBJ/wis.obj'}
{$LINK 'OBJ/xfflush.obj'}
{$LINK 'OBJ/flushout.obj'}
{$LINK 'OBJ/lputc.obj'}
{$LINK 'OBJ/hrdir_b.obj'}
{$LINK 'OBJ/realloc.obj'}
{$LINK 'OBJ/mbctype.obj'}
{$LINK 'OBJ/xcvt.obj'}
{$LINK 'OBJ/xcvtw.obj'}
{$LINK 'OBJ/wcscpy.obj'}
{$LINK 'OBJ/errno.obj'}
{$LINK 'OBJ/ctrl87.obj'}
{$LINK 'OBJ/timedata.obj'}
{$LINK 'OBJ/int64toa.obj'}
{$LINK 'OBJ/cvtentry.obj'}
{$LINK 'OBJ/mbyte1.obj'}
{$LINK 'OBJ/errormsg.obj'}
{$LINK 'OBJ/exit.obj'}
{$LINK 'OBJ/iswctype.obj'}
{$LINK 'OBJ/heap.obj'}
{$LINK 'OBJ/memmove.obj'}
{$LINK 'OBJ/fxam.obj'}
{$LINK 'OBJ/fuistq.obj'}
{$LINK 'OBJ/qdiv10.obj'}
{$LINK 'OBJ/wmemset.obj'}
{$LINK 'OBJ/wcslen.obj'}
{$LINK 'OBJ/_tzset.obj'}
{$LINK 'OBJ/deflt87.obj'}
{.$LINK 'OBJ/mbschr.obj'}
{$LINK 'OBJ/mbsrchr.obj'} // DUPLICATE!
{$LINK 'OBJ/ermsghlp.obj'}
{$LINK 'OBJ/patexit.obj'}
{$LINK 'OBJ/initexit.obj'}
{$LINK 'OBJ/virtmem.obj'}
{$LINK 'OBJ/tzset.obj'}
{$LINK 'OBJ/mbisdgt.obj'}
{$LINK 'OBJ/mbsnbcpy.obj'}
{$LINK 'OBJ/platform.obj'}
{$LINK 'OBJ/getenv.obj'}
{$LINK 'OBJ/mbisalp.obj'}
{.$LINK 'OBJ/abort.obj'}
{.$LINK 'OBJ/signal.obj'}
{.$LINK 'OBJ/clear87.obj'}
{.$LINK 'OBJ/abort.obj'} // DUPLICATE!
{$LINK 'OBJ/handles.obj'}
{$LINK 'OBJ/_cfinfo.obj'}
{$LINK 'OBJ/__isatty.obj'}
{$LINK 'OBJ/handles.obj'} // DUPLICATE!
{$LINK 'OBJ/perror.obj'}
{$LINK 'OBJ/fputs.obj'}
{$LINK 'OBJ/files2.obj'}
{$LINK 'OBJ/handles.obj'} // DUPLICATE!
{$LINK 'OBJ/ioerror.obj'}
{$LINK 'OBJ/__write.obj'}
{$LINK 'OBJ/_write.obj'}
{$LINK 'OBJ/__lseek.obj'}
{$LINK 'OBJ/ioerror.obj'} // DUPLICATE!
{$LINK 'OBJ/perror.obj'} // DUPLICATE!
{$LINK 'OBJ/setenvp.obj'}
{$LINK 'OBJ/calloc.obj'}
{.$LINK 'OBJ/mbsnbcmp.obj'}
{$LINK 'OBJ/mbsnbicm.obj'}
{$LINK 'OBJ/is.obj'}
{$LINK 'OBJ/isctype.obj'}
{$LINK 'OBJ/bigctype.obj'} // DUPLICATE!
{$LINK 'OBJ/globals.obj'}
{$LINK 'OBJ/hrdir_mf.obj'}
{.$LINK 'OBJ/fpreset.obj'}
{.$LINK 'OBJ/ta.obj'}
{.$LINK 'OBJ/setexc.obj'}
{.$LINK 'OBJ/defhandl.obj'}
{$LINK 'OBJ/fputn.obj'} // DUPLICATE!
{$IFDEF MSWINDOWS}
function _wsprintfA: Integer; external 'user32.dll' name 'wsprintfA';
{$ENDIF} // MSWINDOWS
//
*****************************************************************************
// *** Externals from sqlite3.obj
**********************************************
//
*****************************************************************************
function _sqlite3_libversion: PAnsiChar; cdecl; external;
function _sqlite3_libversion_number: Integer; cdecl; external;
function _sqlite3_errcode(DBHandle: Pointer): Integer; cdecl; external;
function _sqlite3_errmsg(DBHandle: Pointer): PAnsiChar; cdecl; external;
// ... many more external defs
implementation
end.
--
View this message in context:
http://www.nabble.com/Need-help-linking-into-Delphi-Application-tf3942313.html#a12159106
Sent from the SQLite mailing list archive at Nabble.com.
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------