SQLite C/C++ 编译

来源:互联网 发布:ni软件什么用 编辑:程序博客网 时间:2024/06/16 19:41

对于如下使用SQLite 的C/C++程序,

#include <stdio.h>#include <sqlite3.h> int main(int argc, char* argv[]){   sqlite3 *db;   char *zErrMsg = 0;   int rc;   rc = sqlite3_open("test.db", &db);   if( rc ){      fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));      exit(0);   }else{      fprintf(stderr, "Opened database successfully\n");   }   sqlite3_close(db);}

如果直接编译
gcc test_sqlite.cpp -o test_sqlite

会发生如下错误

ld: symbol(s) not found for architecture x86_64clang: error: linker command failed with exit code 1 (use -v to see invocation)

起原因是没有将SQLite的lib链接进来。解决方法如下:

  1. 如果你是用的是Xcode一类的IDE,如图所示添加对libsqlite3的引用。
    Xcode

  2. 如果你是在terminal使用gcc编译,需要指定sqlite编译选项:
    gcc test_sqlite.cpp -l sqlite3

  3. Makefile的方法还在学习中,后续补充。

0 0
原创粉丝点击