Here you will see how to compile SQLite for Windows with MinGW and without TCL. How to install MINGW 1. Download necessary files from http://sourceforge.net/project/showfiles.php?group_id=2435 These are: MSYS-x.x.xx.EXE MINGW-x.x.x.EXE 2. Install MSYS to (for example) D:\MSYS 3. Install MINGW (with GPP option for SQLite) to D:\MSYS\mingw How to compile SQLite 1. Download SQLite and upack it into subdirectory "sqlite" (for example) of your MSYS home directory (something like D:\MSYS\home\techtonik in my case) 2. Launch MSYS 3. cd sqlite 4. mkdir bld; cd bld 5. ../configure --disable-tcl 6. This will create "tsrc" directory with all necessary files to compile SQLite make target_source; cd tsrc 7. Since there is no TCL libraries, tclsqlite.c should be removed to avoid errors during compilation (this is purely optional) mv tclsqlite.c tclsqlite.c.unused 8. Compile sources with a some optimization (-O2 flag). gcc -O2 -DNDEBUG=1 -DTHREADSAFE=1 -c *.c 9. Link compiled object (*.o) files to make sqlite3.exe (-s tell gcc to strip additional info used for debug) gcc -s -o sqlite3 *.o 10. Remove shell.o object file used as entry point for command line utility. Useless for DLL. rm shell.o 11. Link compiled object (*.o) files to make .dll The command below tells GCC to link all object files into one shared library (for windows it is .dll) and make functions listed in .def available for use to external programs (export) gcc -shared -s -o sqlite3.dll *.o -Wl,--output-def,sqlite3.def 12. There is one more thing you may need in future if you would like to compile other programs with SQLite support. It is import library. To make one (called libsqlite.dll.a) for MinGW link .dll like gcc -shared -s -o sqlite3.dll *.o *.def -Wl,--out-implib,libsqlite3.dll.a That's all. Ready to use files for SQLite 3.3.17 are available at http://rainforce.org/sqlite/