如何使用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个其他文件
答案 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