c语言在linux连接sqlite3问题
大家好,我想通过c语言连接sqlite3,当我在terminal中输入sqlite3,我知道我已经成功安装了sqlite,可是当我在C中引用sqlite3_open()这...
大家好,我想通过c语言连接sqlite3,当我在terminal中输入sqlite3,我知道我已经成功安装了sqlite,可是当我在C中引用sqlite3_open()这些函数,有错误信息提示,请问我应该怎样正确安装sqlite3呢,是不是牵涉到linker呢?谢谢大家
展开
1个回答
展开全部
如果是在编译阶段出现问题则是没有引用头文件
如果是链接阶段则是没有链接sqlite库
简单来说
gcc test.c -lsqlite3
这样编译, test.c里面引用#include <sqlite3.h>
要保证有这个文件 /usr/include/sqlite3.h (如果位置不对则使用 -I 参数调整)
这只是最原始的办法, 稍微好点的是使用gcc test.c `pkg-config --libs --cfalgs sqlite3`这类形式
具体参考pkg-config这个工具
真实项目中一般都不会这样用,有专门的工程管理工具如autoconfig,cmake之类的。
对于初学者 建议去熟悉 编译和链接这2个过程的一些介绍,和gcc 的-I -L 这2个参数。
如果是链接阶段则是没有链接sqlite库
简单来说
gcc test.c -lsqlite3
这样编译, test.c里面引用#include <sqlite3.h>
要保证有这个文件 /usr/include/sqlite3.h (如果位置不对则使用 -I 参数调整)
这只是最原始的办法, 稍微好点的是使用gcc test.c `pkg-config --libs --cfalgs sqlite3`这类形式
具体参考pkg-config这个工具
真实项目中一般都不会这样用,有专门的工程管理工具如autoconfig,cmake之类的。
对于初学者 建议去熟悉 编译和链接这2个过程的一些介绍,和gcc 的-I -L 这2个参数。
更多追问追答
追问
嗯嗯,成功了,谢谢,遇到一个新问题,我想用C语言从txt文档读取字符串,读完之后是放到c string里的,可是sql里的字符串是单引号装的,我应该怎样把字符串从“”转到‘’储存呢?谢谢,如果可以的话能顺便留一下qq吗?
追答
没看懂,似乎没必要转换。如果需要转换则用\" 或\' 分别进行转义。
"或者'都是语法层面上的东西,跟字符串内容没有什么关系。
除非是在源代码里面硬编码字符串才需要进行特殊字符转义,如果是直接从文件读取则不用理会。
linux下刚学习可以去看看> 这本书,适合入门者。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询