使用sqlite3无法正常工作的设置C ++代码示例

时间:2019-07-08 17:18:37

标签: c++ sqlite c++11

我尝试在基本的c ++应用程序中设置sqlite3扩展。我知道该站点上仍然有主题,但是我已经尝试了所有有关此问题的建议。我不能继续前进,没有什么是正确的解决方案。我想编译类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,但是我在外壳上手动编译。

0 个答案:

没有答案