我是编程新手,刚刚开始学习C.我想在c程序中使用SQLite3,但是很难设置库。我使用旧时尚命令行界面来编译和运行我的程序。我正在使用gcc。我也尝试过使用CodeBlocks并花了很多时间研究如何让它工作但没有成功! 我找到了一个C and SQLite3 tutorial,但它没有解释这个用GCC compliler设置SQLite库的简单概念。我还找到了另一个教程,但它也没有解释如何使用GCC编译器设置库。
到目前为止,我有一个名为“testsql.c”的简单程序,这就是我想要的工作:
#include <sqlite3.h>
#include <stdio.h>
int main() {
printf("%s\n", sqlite3_libversion());
return 0;
}
我使用以下gcc命令编译程序:
C:\Users\qwa\Desktop\testsql>gcc testsql.c -o testsql -lsqlite3
输出始终是这个错误:
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lsqlite3
collect2.exe: error: ld returned 1 exit status
现在我已经访问SQLite's download webpage并已下载以下文件并尝试将它们放在MinGW \ bin和MinGW \ include下:
The Amalgamation zip file:
shell.c
sqlite3.c
sqlite3.h
sqlite3ext.h
我还下载了dll zip文件,希望我能弄清楚如何将它与CodeBlocks链接但不成功。这个zip文件带有这些文件:
sqlite3.def
sqlite3.dll
我认为我的问题是我只是不知道如何在SQLite3库和gcc编译器之间建立连接。我觉得这是一个小问题,但我一直在努力:(
任何帮助都将非常感谢!!!总而言之,我只想用简单的C程序设置SQLite数据库连接。
编辑:根据第一条评论,我只使用了以下命令:
gcc testsql.c -o testsql -LC:\sqlite3\sqlite3.dll
我得到的结果是:
C:\Users\qwa\AppData\Local\Temp\ccMjAu3h.o:testsql.c:(.text+0xf):undefined reference to `sqlite3_libversion'
collect2.exe: error: ld returned 1 exit status
任何想法?
答案 0 :(得分:0)
使用SQLite的最简单方法是将其直接编译到您的应用程序中:
gcc testsql.c sqlite3.c -o testsql