Problems compiling sqlite-d

Nestor via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Jan 29 18:46:34 PST 2017


On Monday, 30 January 2017 at 02:25:40 UTC, Adam D. Ruppe wrote:
> On Monday, 30 January 2017 at 00:06:00 UTC, Nestor wrote:
>> I wasn't doing it explicitly. However I just did that and 
>> still encountered a few errors, which I removed with this 
>> patch:
>
> Where did you get that ancient version? The latest versions of 
> the files work just fine out of the box, and they have for 
> about a year now.
>
> these links work:
>
> https://github.com/adamdruppe/arsd/blob/master/database.d
> https://github.com/adamdruppe/arsd/blob/master/sqlite.d

Well, I had downloaded the github version a few days back but 
yesterday managed to get dub to fetch properly, so I just fetched 
package arsd, and took the units from there.

Anyway, I have just downloaded from github the files you 
recomend, but...

d:\prj\sqltest2\source>dmd app
OPTLINK (R) for Win32  Release 8.00.17
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
app.obj(app)
  Error 42: Symbol Undefined 
_D4arsd6sqlite6Sqlite6__ctorMFAyaiZC4arsd6sqlite6Sqlite
app.obj(app)
  Error 42: Symbol Undefined _D4arsd6sqlite6Sqlite7__ClassZ
app.obj(app)
  Error 42: Symbol Undefined _D4arsd6sqlite12__ModuleInfoZ
Error: linker exited with status 163488904

If I specify all source files, there are even more problems:

d:\prj\sqltest2\source>dmd app.d arsd\sqlite.d arsd\database.d
OPTLINK (R) for Win32  Release 8.00.17
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_open
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_finalize
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_prepare_v2
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_mprintf
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_free
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_exec
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_last_insert_rowid
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_changes
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_errmsg
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_close
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_reset
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_column_blob
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_column_bytes
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_column_int
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_column_name
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_step
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_column_text
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_column_double
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_column_type
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_column_count
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_bind_null
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_bind_blob
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_bind_double
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_bind_int
app.obj(app)
  Error 42: Symbol Undefined _sqlite3_bind_text
Error: linker exited with status 211947944

Source of app.d couldn't be simpler:

import std.stdio;
void main() {
   import arsd.sqlite;
   auto db = new Sqlite("data.db");
}

Files sqlite3.{def|dll|lib} are on both source/ and source/arsd/ 
(just in case)
I also moved your files to the same location of app.d but it 
makes no difference.


More information about the Digitalmars-d-learn mailing list