Ошибки компоновщика SQLite Visual Studio - PullRequest
1 голос
/ 27 июля 2011

У меня есть 2 проекта C ++, один для Windows XP / Vista / 7 (WinXP), а другой для Windows Mobile 6 (WinMo).Оба проекта используют один и тот же исходный код.

Я пытаюсь создать ссылку на sqlite3.lib.Я сгенерировал этот файл, используя инструмент lib, поставляемый с VS, и файл sqlite.def.Я добавил этот файл в папку Resource обоих проектов, используя Add -> Existing Item .... Я также добавил его в Дополнительные зависимости (Свойства конфигурации> Linker> Input).Я также поместил файл sqlite3.dll в рабочие и исполняемые каталоги.

Я написал некоторый код, и класс, который использует sqlite3, имеет #include "sqlite3.h".

Теперь в проекте WinXP я могу компилировать, связывать и выполнять операции с базами данных с помощью API sqlite3.В проекте WinMo я могу скомпилировать, но получить ошибки компоновщика для всех нужных мне функций из библиотеки sqlite3:

1>Linking...
1>SQLiteDatabase.obj : error LNK2019: unresolved external symbol sqlite3_shutdown      referenced in function "public: virtual __cdecl...
....

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Вам нужен файл .lib, а не файл .obj.

Вы используете файл .obj, вы получили этот файл из

Visual Studio 2010\ Projects \ projectname \ projectname \ Release

Вам необходимо получить файл с таким же именем .lib из

Visual Studio 2010 \ Projects\ projectname \ Release

Имеет ли это смысл?Вернитесь назад на две папки, затем перейдите в папку Release.Внутри этой папки релиза будет файл .lib.

0 голосов
/ 28 июля 2011

Убедитесь, что у вас установлена ​​последняя версия sqlite, и sqlite3_shutdown поддерживается на обеих платформах.

Я нашел это .

...