Я пытаюсь добавить SQLite в свой проект через DLL.
Я загрузил SQLiteDLL-3 из страницу загрузки, извлек ее содержимое (DLL и файл .h), и запустил lib.exe для создания файла .lib. Затем я устанавливаю каталог, содержащий файлы .lib и .dll в качестве дополнительного каталога библиотек, в настройках проекта в разделе Linker → General.
Затем я загрузил SQLiteSource-3 со страницы загрузки и извлек файл SQLite3.h в каталог с файлами .Lib и .DLL и добавил этот каталог в качестве дополнительного каталога Include в разделе C/С++ → General. Я добавил #include в свой основной файл, а затем добавил sqlite3.dll в качестве дополнительной зависимости в компоновщике → Вход.
В основном я следил за this, но когда я запускаю его, я получаю сообщение об ошибке:
fatal error LNK1107: invalid or corrupt file: cannot read at 0x2B8
Я испробовал ряд исправлений, включая создание файла .lib под x86 и x64 и включая полный путь к .lib файлу в списке дополнительных зависимостей. Это всегда то, что я получаю. Кажется, что, по крайней мере, я нашел файл .h, потому что, если я использую имя в include, я получаю ошибку "не могу найти файл", поэтому эта часть выглядит правильно.
Может ли кто-нибудь увидеть, что я могу делать неправильно и как исправить проблему?
Update: Исправлена проблема с недопустимым или поврежденным файлом, добавив файл .lib в список дополнительных зависимостей, а не файл .dll. Теперь я получаю неразрешенные ошибки компоновщика:
ошибка LNK2019: нерешенный внешний символ _sqlite3_exec, указанный в функции _main
ошибка LNK2019: нерешенный внешний символ _sqlite3_open, указанный в функции _main
фатальная ошибка LNK1120: 2 нерешенных внешних