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]
-----------------------------------------------------------------------------

Reply via email to