最近要在windows下使用小型資料庫,首先想到的就是sqlite。
官網上提供了sqlite3的dll和def檔案。
sqlite-amalgamation-3280000.zip,包含sqlite3的原始碼;
sqlite-dll-win32-x86-3280000.zip,包含sqlite3的dll動態庫和def檔案。
步驟:1,在vs下新建乙個空的控制台程式,選擇動態庫;
2,然後將sqlite3的原始碼全部新增至工程中;
3,將sqlite3的def檔案新增至工程中;
4,專案--屬性--鏈結器--輸入--模組定義檔案--選擇def檔案。
5,編譯工程,此時只生產dll檔案。使用之前的經驗,設定忽略導入庫的方式,也沒有生成lib檔案。
最後使用vs的lib.exe程式使用def檔案生成的lib檔案。
編譯過程中遇到的問題:
1,生成的dll庫沒有匯出函式(執行步驟4解決);
2,在odb庫使用sqlite3時,會有函式未定義錯誤,在sqlite3庫中加入sqlite_enable_unlock_notify巨集定義;
3,在編譯過程中,會報def中部分函式找不到定義(需要增加巨集定義開啟函式定義),因暫時用不到,直接在def檔案中將報錯的函式名刪除即可。
另外:def檔案修改後,需要重新生成lib檔案。
sqlite3的lib檔案生成步驟:
1,找到vs安裝目錄下lib.exe所在路徑;
2,開啟命令提示符,切換至上述目錄;
3,將sqlite3.def檔案複製過來;
4,執行命令:lib.exe /def:sqlite3.def /machine:ix86
5,lib和exp檔案生成在當前目錄中,可直接複製使用。
Ubuntu下的sqlite3庫編譯
2.配置sqlite3 3.安裝 4.執行sqlite3 6.測試 tar zxvf 壓縮包名稱 解壓成功,資料夾內有我們需要的檔案 解壓後,沒有makefile檔案,暫時無法進行安裝,我們需要先配置sqlite3 configure prefix 配置到的目標路徑 前提是這個路徑是存在的 如果後面...
sqlite3 編譯問題
sqlite3用到libpthread和libdl因此要鏈結這兩個庫 假如先把sqlite3.c編譯成sqlite3.o或者libsqlite3.a g lm lpthread ldl o 目標 main.o sqlite3.o 或者 g lm lpthread ldl lsqlite3 o 目標 ...
sqlite3加密編譯
廢話不多說,直接貼出方法,目的在於請路過老鳥幫助測試一下功能是否全面,是否真正實現了加密 反正我用記事本開啟生成的db檔案看不到寫入記錄的明文了 codec.c codec.h rijndael.c rijndael.h codecext.c 二 sqlite3的加密函式說明 sqlite3 key...