SQLite第四課 建立windows動態庫

來源:互聯網
上載者:User

標籤:sqlite 動態庫

下載源碼包兩個:

sqlite-dll-win32-x86-3081101.zip,裡面提供了匯出sqlite3的函數的檔案sqlite3.def

主要用於產生LIB檔案,確定連結使用

sqlite-preprocessed-3081101.zip,提供了源碼檔案,但是刪除shell.c和tclsqlite3.c檔案

 

1.建立win32控制台程式,名稱sqlite3

 

2.選擇產生DLL

 

3.解壓壓縮包,將sqlite-preprocessed-3081101的檔案複製到工程檔案夾下(除了shell.c以及tclsqlite.c)。

 

4.通過添加存在檔案,將源碼添加到編譯項目中

 

 

5設定模組定義檔案sqlite3.def,否則產生的dll沒有對應的lib

 

 

7.添加預定義選項SQLITE_CORE,SQLITE_ENABLE_COLUMN_METADATA、SQLITE_ENABLE_RTREE,這是sqlite3的宏定義。

 

8.按F7產生相應的dll和lib。

 

編譯小細節:

 

指定函數的匯出檔案:sqlite3.defs

屬性》》連結器》》輸入》》模組定義檔案(sqlite3.def),請注意這種情況下,sqlite3.def檔案和編譯環境平級。

後果:不會產生sqlite3.lib檔案

指定先行編譯宏:

屬性》》C/C++》》前置處理器》》預先處理定義》》

SQLITE_CORE

SQLITE_ENABLE_COLUMN_METADATA

SQLITE_ENABLE_RTREE

後果:

1>sqlite3.def : error LNK2001: 無法解析的外部符號sqlite3_column_database_name

1>sqlite3.def :error LNK2001: 無法解析的外部符號sqlite3_column_database_name16

1>sqlite3.def :error LNK2001: 無法解析的外部符號sqlite3_column_origin_name

1>sqlite3.def :error LNK2001: 無法解析的外部符號sqlite3_column_origin_name16

1>sqlite3.def :error LNK2001: 無法解析的外部符號sqlite3_column_table_name

1>sqlite3.def :error LNK2001: 無法解析的外部符號sqlite3_column_table_name16

1>sqlite3.def :error LNK2001: 無法解析的外部符號sqlite3_rtree_geometry_callback

1>sqlite3.def :error LNK2001: 無法解析的外部符號sqlite3_rtree_query_callback

前面6個函數,必須定義了SQLITE_ENABLE_COLUMN_METADATA才能夠將函數匯出,一般情況下,這些函數,我們可以直接在sqlite3.def檔案中刪除,不匯出

後面2個函數,必須定義了SQLITE_ENABLE_RTREE才能夠將函數匯出,如果我們不適用R樹的空間搜尋功能,這些函數,我們可以直接在sqlite3.def檔案中刪除,不匯出


SQLite第四課 建立windows動態庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.