2011-07-26 75 views
1

我有2個C++項目,一個用於Windows XP/Vista/7(WinXP),另一個用於Windows Mobile 6(WinMo)。兩個項目都使用相同的源代碼。SQLite Visual Studio鏈接器錯誤

我想鏈接到sqlite3.lib。我已經使用VS和sqlite.def文件附帶的lib工具生成了這個文件。我使用Add - > Existing Item ....將這個文件添加到兩個項目的Resource文件夾中。我還將其添加到其他依賴項(配置屬性>鏈接器>輸入)中。我還將sqlite3.dll文件放在工作目錄和可執行目錄中。

我寫了一些代碼,並且使用sqlite3的類有#include「sqlite3.h」。

現在,在WinXP項目中,我能夠使用sqlite3 API編譯,鏈接和執行數據庫操作。在項目的WinMo,我可以編譯,但是從sqlite3的圖書館,我需要獲得所有功能的鏈接錯誤:

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

我在做什麼錯?

回答

1

您需要.lib文件,而不是.obj文件。

您正在使用obj文件,你從

Visual Studio 2010的\項目得到了文件\項目名稱\項目名稱\釋放

你需要得到。 lib文件具有相同名稱

Visual Studio 2010 \ Projects \ projectname \ Release

這有道理嗎?返回兩個文件夾,然後進入Release文件夾。在該版本文件夾中將會有.lib文件。

0

確保您擁有最新版本的sqlite,並且兩個平臺都支持sqlite3_shutdown。我想找到this