Sqlite3与cygwin

时间:2011-09-09 17:05:46

标签: c sqlite cygwin

如何使用Cygwin安装Sqlite3?当我尝试在Cygwin中编译时:

gcc -o basics basics.c

它说:

/tmp/ccpS4NGr.o:basics.c :(。text + 0x67):对_sqlite3_open' /tmp/ccpS4NGr.o:basics.c:(.text+0x10b): undefined reference to _ sqlite3_exec'/tmp/ccpS4NGr.o:basics.c:(.text+0x172)的未定义引用:undefined对_sqlite3_exec' /tmp/ccpS4NGr.o:basics.c:(.text+0x1d9): undefined reference to _ sqlite3_exec'/tmp/ccpS4NGr.o:basics.c:(.text+0x243)的引用:对_sqlite3_prepare _v2' /tmp/ccpS4NGr.o:basics.c:(.text+0x279): undefined reference to _ sqlite3_column_ count'的未定义引用'/tmp/ccpS4NGr.o:basics.c :( .text + 0x28f):对_sqlite3_step' /tmp/ccpS4NGr.o:basics.c:(.text+0x2cb): undefined reference to _sqlite3_column_ text'/tmp/ccpS4NGr.o:basics.c:(.text+0x2ec)的未定义引用:对_sqlite3_column_ name' /tmp/ccpS4NGr.o:basics.c:(.text+0x355): undefined reference to的未定义引用_sqlite3_close'cols2:ld返回1退出状态

我将sqlite3.h保存在basics.c的同一目录中,另外还有sqlite-amalgamation包附带的3个其他文件

3 个答案:

答案 0 :(得分:2)

虽然可以自己构建SQLite,但您不必这样做。

重新运行Cygwin的setup.exe,在包选择屏幕上,从Libs类别中选择libsqlite3-devel包。然后你的构建命令变为:

gcc -o basics basics.c -lsqlite3

答案 1 :(得分:1)

你是如何包括它的?

#include <sqlite.h>

#include "sqlite.h"

后一种形式可能会奏效;它会在包含路径之前检查当前文件夹。

答案 2 :(得分:1)

您需要构建并包含sqlite合并!将.c文件添加到命令行:

gcc -o basics basics.c sqlite3.c