像_sqlite3_open这样的符号没有找到错误

Sup*_*ing 1 c

嗨,我得到这个错误:

Undefined symbols:
  "_sqlite3_open", referenced from:
      _main in ccRlWVer.o
  "_sqliite3_close", referenced from:
      _main in ccRlWVer.o
  "_sqlite3_exec", referenced from:
      _main in ccRlWVer.o
  "_sqlite3_errmsg", referenced from:
      _main in ccRlWVer.o
  "_sqlite3_close", referenced from:
      _main in ccRlWVer.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

这是我的代码:

const char * filename = "database.db";
sqlite3 * ppDb;
int rc;
rc = sqlite3_open(filename, &ppDb);
if( rc ){
    fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(ppDb));
    sqlite3_close(ppDb);
    exit(1);
}

char * errMsg = 0;
sqlite3_exec(ppDb, sql ,display_result, 0, &errMsg);
if( rc!=SQLITE_OK ){
    fprintf(stderr, "SQL error: %s\n", errMsg);
}


sqliite3_close(ppDb);
return 0;
Run Code Online (Sandbox Code Playgroud)

Bri*_*aro 12

您必须通过您希望链接代码的库,在这种情况下它是sqlite3.

如果您正在使用gcc尝试添加:

-lsqlite3 
Run Code Online (Sandbox Code Playgroud)

在你的参数中,你可以在makefile/build命令中传递给gcc.