Skip to content

Notes for compiling on Windows

Justin Clift edited this page Apr 27, 2016 · 25 revisions

These are initial rough notes for compiling on Windows

Haven't yet managed to figure get it working, but am making progress. So, keeping notes here in the meantime. 😄

Software being used

Compiling SQLite

Initially followed the official SQLite instructions here, underneath the "Building A Windows DLL" heading:

    https://sqlite.org/howtocompile.html

The command line given needs to be launched through the "VS2013 x64 Native Tools Command Prompt". That's accessed through the "Visual Studio Tools" launcher found in the Win 8.1 menu structure.

Although the command generates the .dll (as per the heading)... it turns out MSVC needs a .lib file generated as well to do any useful compiling/development with it. (That REALLY should be mentioned on the SQLite compiling page 😦)

The correct command to run instead, which created both the .dll file and other supporting files (such as the .lib), is this:

cl sqlite3.c -DSQLITE_API=__declspec(dllexport) -link -dll -out:sqlite3.dll

That's copied from here.

Current error - linking

It's all compiling ok, but linking is failing:

LINK : fatal error LNK1104: cannot open file 'sqlite3.lib'

To me, this is bizarre, as I've created the exact .lib file it needs (above), and also added the library definition for it to the project using the Qt wizard for doing exactly that.

Yes, getting frustrated. 😉

Ironically, I'm not the only one. StackExchange shows another user hitting exactly the same problem... with our project. 😦

    https://stackoverflow.com/questions/36117817/qt-cannot-open-file-sqlite3-lib/36786563

The people there didn't help the previous person at all, so no joy here either.

Trying with CMake

  1. Installed the above SQLite + OpenSSL to a directory off C:\
  2. Change the paths in the CMakeLists.txt file to match the correct locations
  • QT5_PATH
  • SQLITE3_PATH
  • OPENSSL_PATH
  1. Run "cmake" (the command line version, not the gui) from the main sqlitebrowser git repo directory

Related Issue(s) in our repo

Other notes

Clone this wiki locally