在 C 程序中使用 SQLite3 - 简单设置问题



我是编程新手,刚刚开始学习C语言。我想在 c 程序中使用 SQLite3,但很难设置库。我正在使用老式命令行界面来编译和运行我的程序。我正在使用 gcc。我也尝试使用CodeBlocks,并花了很多时间研究如何让它工作,但没有成功!我找到了一个 C 和 SQLite3 教程,但它没有解释使用 GCC 编译器设置 SQLite 库的简单概念。我还找到了另一个教程,但它也没有解释如何使用 GCC 编译器设置库。

到目前为止,我有一个名为"testsql.c"的简单程序,这就是我想开始工作的全部内容:

#include <sqlite3.h>
#include <stdio.h>
int main() {
printf("%sn", sqlite3_libversion()); 
return 0;
}

我正在使用以下gcc命令来编译程序:

 C:UsersqwaDesktoptestsql>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的下载网页上,并下载了以下文件,并尝试将它们放在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:sqlite3sqlite3.dll

我得到的结果是:

 C:UsersqwaAppDataLocalTempccMjAu3h.o:testsql.c:(.text+0xf):undefined reference to `sqlite3_libversion'
 collect2.exe: error: ld returned 1 exit status

有什么想法吗?

使用 SQLite 的最简单方法是将其直接编译到您的应用程序中:

gcc testsql.c sqlite3.c -o testsql

最新更新