Linux之Qt利用Sqlite静态编译库(转)
參考:http://www.linuxidc.com/Linux/2011-11/47465.htm
sqlite3編譯安裝
------------------------arm版----------------------
1.從官方網站下載sqlite-autoconf-3070602.tar.gz
2.解壓,進入當前目錄
3.開始配置,執行命令如下(前提配置好交叉編譯環境):
./configure --prefix=/usr/local/sqlite_arm --host=arm-linux
4.開始編譯,執行命令如下:
make
5.開始安裝,執行命令如下:
make install
6.安裝完,進入/usr/local/sqlite_arm,里面有東西(bin lib include share)
生成說明安裝成功
7.把整個安裝文件sqlite_arm拷貝到開發板上
8.進入sqlite_arm的bin目錄,配置環境如下:
export LD_LIBRARY_PATH=/mnt/sqlite3_arm/lib:$LD_LIBRARY_PATH
9.執行命令:
./sqlite3
如果成功會顯示sqlite3版本,到此移植sqlite3成功.
-------------------sqlite3靜態庫-----------------
1.安裝完arm版sqlite3,進入安裝目錄sqlite3_arm的lib目錄底下,內容如下
libsqlite3.a?? libsqlite3.so??? libsqlite3.so.0.8.6
libsqlite3.la? libsqlite3.so.0? pkgconfig
2.把libsqlite3.a拷貝到自己的應用程序目錄下(比如我的Qtcreator應用程序test_sqlite_static)
同時拷貝sqlite3_arm的include目錄底下的sqlite3.h到test_sqlite_static
3.在Qtcreator中的test_sqlite_static.pro配置單下加如下內容:
LIBS +=-L/root/test_sqlite_static /
lsqlite3
4.同時項目中添加已存在的頭文件sqlite3.h
5.主程序main.cpp如下:
#include <QtCore/QCoreApplication> #include "sqlite3.h" #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);sqlite3 *db=NULL;char *zErrMsg=0;int rc;rc = sqlite3_open("test.db",&db);if(rc){fprintf(stderr,"Can't open database:%s/n",sqlite3_errmsg(db));sqlite3_close(db);return 0;}else printf("You have already successfully!/n");sqlite3_close(db);// return a.exec();exit(1); }6.在Qtcreator中的Projects中的Build Settings項中的Qt version設置為Qt/e版本
7.編譯程序,然后把程序拷貝到開發板,同時需要庫:
libQtCore.so.4 libQtNetwork.so.4 libQtTest.so.4
8.運行程序./test_sqlite_static,成功則在當前目錄有test.db文件生成?
注意:
make時會出錯:
“arm-none-linux-gnueabi-gcc: 3.7.6.2": No such file or directory”Makefile 127行的“ 3.7.6.2”空格導致,去掉’3’之前的空格,編譯通過。
轉載于:https://www.cnblogs.com/kwseeker-bolgs/p/4747562.html
總結
以上是生活随笔為你收集整理的Linux之Qt利用Sqlite静态编译库(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原币和本位币是什么意思
- 下一篇: C++联合