tyro
Joined: 04 Dec 2004 Posts: 13
|
Posted: Sun Apr 06, 2008 9:56 pm Post subject: compiling/installing DDBI |
|
|
I think I did everyting correctly?
compiled using command:
dmd -run buildme sqlite
compilation successfull, however attempting to compile test program:
dmd test.d -version=dbi_sqlite dbi.lib sqlite3.lib
results in the following errors:
C:\mars\dmd\bin\link.exe edit,,,dbi.lib+sqlite3.lib+user32+kernel32/noi+tango-us
er-dmd.lib;
OPTLINK (R) for Win32 Release 8.00.1
Copyright (C) Digital Mars 1989-2004 All rights reserved.
edit.obj(edit)
Error 42: Symbol Undefined _D3dbi6sqlite14SqliteDatabase14SqliteDatabase7__Clas
sZ
edit.obj(edit)
Error 42: Symbol Undefined _D3dbi6sqlite14SqliteDatabase14SqliteDatabase5_ctorM
FZC3dbi6sqlite14SqliteDatabase14SqliteDatabase
--- errorlevel 2
This made me question whether or not the sqlite code is getting compiled. I proceeded to remove the version(dbi_sqlite) for all the files in dbi/sqlite. Doing so revealed a whole slew of errors that I'm having a problems resolving. Some of those I have resolves remain questionable, such as:
char* errmsg = sqlite3_errmsg(db_);
db_ is not defined or used in any other module than SqliteDatabase and this is the only place it is used. Observing the surrounding code I decided to change it to "database" but I'm not sure if that is the right choice. Currently I'm stuck at line 351 in the above mentioned module: binder(i, p, x, len);
Seems dbi.Stetement.binder() was redesigned some time ago. Closest thing I can find is dbi.Statement.bind() but the calling conventions (read: parameters) have changed and I'm not sure how to advance.
There are also a bunch of "duplicate case 1 in switch statement" errors wherever there is a fallthrough in the code:
line 390:
case BindType.UByteArray:
case BindType.VoidArray:
I am using dmd v1.027+tango installed using DInstaller.
Any advice would be appreciated.
Andrew |
|