Пример установки кода C ++ с sqlite3 не работает - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь настроить расширение sqlite3 в базовом приложении c ++. Я знаю, что на этом сайте все еще есть темы, но я перепробовал все предложения по этой проблеме. Я не могу двигаться дальше, ничто не было правильным решением. Я хочу скомпилировать класс SQLConnector.cpp (см. Структуру папок ниже).

Я не могу скомпилировать приложение без ошибок.

Что я уже пробовал:

Я уже установил sqlite3 по адресу:

  C:\sqlite3\

Я скачал sqlite-amalgamation и создал папку со следующей структурой:

     sqlite_test
     ├── SQLConnector.cpp
     ├── shell.c
     ├── sqlite3.c
     ├── sqlite3.h
     └── sqlite3ext.h    

Я использую эту команду для компиляции кода, но она не работает:

    g++ SQLConnector.cpp - l sqlite3

Это исходный код фрагмента основного кода:

   #include "sqlite3.h"
   #include "sqlite3ext.h" // I have tried it also without this file.
   #include <iostream>

 int main()
 {
     sqlite3 *db;
     char *strErrorMsg = 0;
     int rc;

     rc = sqlite3_open("test.db", &db);
     if (rc)
     {
         std::cout << "Can't open database " << sqlite3_errmsg(db) << 
         std::endl;
         return 1;
     }

     std::cout << "Opened database successfully!" << std::endl;

     sqlite3_close(db);

     return 0;
 }

Это ошибка, я получил:

 SQLConnector.cpp: In Funktion »int main()«:
 sqlite3ext.h:426:40: Fehler: »sqlite3_api« wurde in diesem 
 Gültigkeitsbereich nicht definiert
  #define sqlite3_open                   sqlite3_api->open
                                    ^
 SQLConnector.cpp:20:10: Anmerkung: bei Substitution des Makros 
 »sqlite3_open«
      rc = sqlite3_open("test.db", &db);
      ^~~~~~~~~~~~
 sqlite3ext.h:426:40: Anmerkung: empfohlene Alternative: »sqlite3_log«
  #define sqlite3_open                   sqlite3_api->open
                                    ^
 SQLConnector.cpp:20:10: Anmerkung: bei Substitution des Makros 
 »sqlite3_open«
      rc = sqlite3_open("test.db", &db);

Я не знаю, какой путь я должен вставить в опцию -l. Если я уберу опцию -l и скомпилирую sqlite3.c, я получу более 300 ошибок: -D

Что я могу сделать? Я не понимаю, как настроить расширение возможно? Может ли кто-нибудь помочь мне и показать его настройки?

Я использую VSCode, но компилирую вручную на оболочке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...