On Monday, 30 January 2017 at 03:07:22 UTC, Adam D. Ruppe wrote:
If I specify all source files, there are even more problems:
Error 42: Symbol Undefined _sqlite3_open
It apparently couldn't find sqlite3.lib.
Files sqlite3.{def|dll|lib} are on both source/ and
source/arsd/ (just in case)
Try specifying it on the command line too:
dmd app.d database.d sqlite.d sqlite3.lib
Though this may still require sqlite3.dll there too, unless it
was built statically.
I found out the cause of the problem.
First I tried to verify if the linker was able to find
sqlite3.lib using Process Monitor by Mark Russinovich, and at
least there were IRP_MJ_CREATE, FASTIO_QUERY_INFORMATION,
IRP_MJ_READ and FASTIO_READ operations with the correct path to
sqlite3.lib where the result was SUCCESS, so apparently the
linker could find the file.
So I opened sqlite3.bn in notepad++ just to see the name of the
symbols and not even one started with an underscore, so I created
sqlite3.lib again with these arguments and this time it compiled:
implib /system sqlite3.lib sqlite3.dll