Вместо этого вы можете рассмотреть возможность использования LuaSQL в качестве оболочки, поскольку он уже включен в пакет Lua для Windows и, вероятно, уже есть в вашей системе. Он включает поддержку SQLite3 среди других баз данных.
Похоже, что вы пытаетесь собрать последний выпуск lsqlite3, но этот выпуск не был упакован так, чтобы его можно было легко собирать для Windows или для Windows. Я не пытался отследить двоичный файл, поскольку LuaForge имеет только исходный пакет. Похоже, что для его успешной сборки потребуется вручную отредактировать Makefile, а затем запустить Makefile под MSYS или Cygwin, так что утилиты * nix, которые, как предполагается, существуют, доступны для него.
Обновление: июнь 2012
С момента написания этого ответа у меня была возможность подумать о том, чтобы использовать lsqlite3
для себя, для проекта, который не потребует гибкости привязки ко многим различным поставщикам баз данных, поэтому создание тесной зависимости от SQLite имеет смысл. Учитывая это, оболочка lsqlite3
хорошо подходит из-за ее небольшого размера и чистой реализации множества важных элементов API SQLite C.
Для его построения я использовал MSYS , который предоставляет минимальную Unix-подобную командную строку и вспомогательные утилиты для использования с портом MinGW GCC. В этой среде мне пришлось внести небольшую модификацию в Makefile, чтобы заставить его использовать ручную настройку, и предоставить детали конфигурации, определяющие, где lua.h
, lua51.dll
, sqlite3.h
и sqlite3.dll
скрывались на моем система.
Единственный реальный трюк - правильно сопоставить пути Windows с именами MSYS, изменив C:
на /c/
и избегая использования имен папок с пробелами в них. Так что с Lua для Windows на C:\Program Files (x86)\Lua\5.1
, который отображается на /c/PROGRA~2/Lua/5.1
, используя короткое имя Windows 8.3, чтобы избежать пробелов.
Ключевым моментом, по которому MSYS рекомендуется использовать в других Unix-подобных средах сборки в Windows, является то, что он специально предназначен для этой цели. Программы и библиотеки, созданные на его основе, не содержат никаких неожиданных зависимостей. В частности, это не похоже на Cygwin, который призван обеспечить полный Unix-подобный интерфейс, работающий поверх Windows.
С недавно созданной lsqlite3.dll
все, что мне нужно было сделать, это установить ее где-нибудь на моем Lua package.cpath
вместе с sqlite3.dll
, и все примеры и тестовые примеры, похоже, работают.