Я хочу использовать sqlite3 в качестве интерфейса базы данных для моего c ++, поэтому я решил начать с этого руководства: https://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm
Я установил sqlite3 на свой компьютер и добавил переменная среды для него, но когда я пытаюсь скомпилировать очень простую программу, как предлагает учебник, набрав
gcc test.c -l sqlite3
в командной строке, я получаю следующую ошибку:
test.c:2:10: fatal error: sqlite3.h: No such file or directory
2 | #include <sqlite3.h>
| ^~~~~~~~~~~
compilation terminated.
The test. c - это папка на моем рабочем столе. Папка имеет следующую структуру:
test.c
shell.c
sqlite3.c
sqlite3.h
sqlite3ext.h
Последние четыре файла взяты из zip-архива объединения, который я нашел на https://www.sqlite.org/download.html (sqlite-amalgamation-3320300.zip)
Я часами искал, что не так, и единственное возможное объяснение, которое я могу найти, это то, что компилятор не может связать внешнюю библиотеку sqlite3, но даже тогда я не мог найти работающий метод связывания, какие-либо идеи о том, как Я могу скомпилировать вышеуказанный?
тест. 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));
return(0);
} else {
fprintf(stderr, "Opened database successfully\n");
}
sqlite3_close(db);
}
Я заранее ценю любую помощь.
Изменить:
, если я наберу #include "sqlite3.h" вместо #include У меня другая ошибка:
c: / mingw / bin /../ lib / gcc / mingw32 / 9.2.0 /../../../../ mingw32 / bin / ld.exe: не удается найти -lsqlite3 collect2.exe: ошибка: ld возвратил 1 статус выхода