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

Reply via email to