embedding a library in Windows
Nestor via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jan 30 07:29:38 PST 2017
On Monday, 30 January 2017 at 13:58:45 UTC, Adam D. Ruppe wrote:
> On Monday, 30 January 2017 at 13:29:20 UTC, Nestor wrote:
>> OK, and in case I have a sqlite3.a file
>
> Just pass the sqlite3.a file instead of sqlite3.lib and the
> compiler should do the rest... worst case is you might need to
> edit the source of my sqlite.d to comment out the pragma(lib)
> line to explicitly deny the dependency, but I think it will
> just work with the .a since it will find the functions in there.
d:\prj\sqltest2\source>dmd app.d database.d sqlite.d sqlite3.a
Error: unrecognized file extension a
I took the file from
http://math.seattleacademy.org/andersgibbons/fall17/node_modules/sqlite3/build/Release/ so I am not 100% sure it's compatible (I don't know how to build it myself), but in any case dmd doesn't recognize the extension.
If I delete the sqlite3.lib or remove the pragma from sqlite.d
(or both), I get this instead:
d:\prj\sqltest2\source>dmd app.d database.d sqlite.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_free
app.obj(app)
Error 42: Symbol Undefined _sqlite3_mprintf
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_text
app.obj(app)
Error 42: Symbol Undefined _sqlite3_step
app.obj(app)
Error 42: Symbol Undefined _sqlite3_column_double
app.obj(app)
Error 42: Symbol Undefined _sqlite3_column_count
app.obj(app)
Error 42: Symbol Undefined _sqlite3_column_type
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_bind_blob
app.obj(app)
Error 42: Symbol Undefined _sqlite3_bind_null
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 214890840
More information about the Digitalmars-d-learn
mailing list