免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2242 | 回复: 0
打印 上一主题 下一主题

[C] linux下c编写的sqlite程序编译问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-10-20 11:00 |只看该作者 |倒序浏览
        sqlite的移植:
        解压sqlite源码包,我的路径是/home/sqlite3/sqlite3.7.6.2
        在/home/sqlite3/下创建sqlite3-linux目录
       
        执行./configure --prefix=/home/sqlite/sqlite-linux
        如果是要移植到arm平台,应该执行./configure--host=arm-none-linux-gnueabi --prefix=/home/sqlite/sqlite-linux

        此时将生成Makefile文件找到 -DPACKAGE_STRING=\"sqlite\ 3.7.6.2\" 把3.7.6.2前面的“\”和空格删除(若没有则不用修改),保存。

        执行make
        make install
        在sqlite-linux下将会生成bin include  lib  share四个目录
        找到lib目录下libsqlite3.so.0.8.6库文件,并将它赋值到根目录下的lib目录下。

        编译测试升序:
        测试程序目录下应包含sqlite3.h头文件,如我的测试程序是test.c
       

#include <stdio.h>
#include "sqlite3.h"
#define LEN 200


int main()
{
         char sql[LEN];
         sqlite3 *db;
         char *err_msg=0;
         int recode;

         sprintf(sql,"create table users(id int identity(1,1) primary key, username var char(10) not null);");

         recode = sqlite3_open("test.db",&db);
         if(recode!=SQLITE_OK)
         {
                 printf("Can't Open Database:%s!\n",sqlite3_errmsg(db));
                 sqlite3_close(db);
         }
         else
         {
                 printf("open OK!\n");
                 sqlite3_close(db);
         }
         return 0;
}

        执行gcc test.c -o test -lsqlite3就OK了
        主要编译出现的问题是链接不到sqlite3库,可以将生成的sqlite3库移到根目录下的/lib/下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP