SQLite编译问题
生活随笔
收集整理的這篇文章主要介紹了
SQLite编译问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從http://www.sqlite.org/主頁上獲得了SQLite的源文件,還沒有時間研究就在編譯上發生了不小的問題。
首先是碰到是,編譯之后,只產生了sqlite3.dll文件,不產生對應的lib庫文件。
查看了下sqlite3.h代碼,發現了SQLITE_API的宏沒有定義導出用的__declspec(dllexport),只是做了一個空定義,就很自然的為在后面加上了。重新編譯了以后發現,還是沒有任何導出函數,也沒有生成任何的lib庫文件,這讓我一時間不知道如何是好。
在網上查了下,原來還要下載一個sqlite3.def模塊定義文件,并且包含到對應的工程中去。
?
發現可以導出,但是遇到了第二個問題,sqlite3.def居然發現了一些無法一些無法識別的符號,就是所謂的Link2001錯誤。
這著實讓我頭疼了很久。畢竟我不可能認為是源代碼寫的有問題吧。
查了很多文檔和資料才知道,需要在預處理器當中該定義三個宏:
SQLITE_ENABLE_COLUMN_METADATA
SQLITE_ENABLE_RTREE
THREADSAFE
還沒找到這三個用來定義的作用是什么,但顯然是函數編譯的開關,可能還與sqlite3的版本管理有關系。這些復雜的問題只能暫且擱置了。
轉載于:https://www.cnblogs.com/BlueWinters/p/3776071.html
總結
以上是生活随笔為你收集整理的SQLite编译问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 文本滚动播放
- 下一篇: 前端状态机系列:SCXML与XState