0

Программа не компилируется в Microsoft Visual Studio, sqlite3.h подключил правильно.

#include <iostream>
#include <string>
#include <Windows.h>
#include <dpapi.h>
#include <lmcons.h>
#include <sqlite3.h>

using namespace std;

string getUserNameWindows() { string userName; char username[UNLEN + 1]; DWORD username_len = UNLEN + 1; GetUserName((TCHAR*)username, &username_len); for (auto ln : username) { if (ln != 0 && ln != -52) { userName += ln; } } return userName; }

int main() { string user = getUserNameWindows(); string DBpath = "test.db"; sqlite3 *db; int status = sqlite3_open_v2(DBpath.c_str(), &db, SQLITE_OPEN_READONLY, NULL); if (status != SQLITE_OK) { cout << "DB opened!!!"; } else cout << "DB error...";

system(&quot;pause&quot;);
return 0;

}

Вывод программы:

1>project.obj : error LNK2019: ссылка на неразрешенный внешний символ sqlite3_open_v2 в функции main.
1>C:\Users\win\Desktop\project\x64\Debug\project.exe : fatal error LNK1120: неразрешенных внешних элементов: 1
1>Сборка проекта "project.vcxproj" завершена с ошибкой.
========== Сборка: успешно выполнено — 0 , со сбоем — 1, в актуальном состоянии — 0, пропущено — 0 ==========
========== Прошло 00:05,340 ==========
lakvak
  • 145

1 Answers1

1

Спустя пол дня всё-таки удалось решить данную проблему. Пришлось скачивать .dll и .def с офф. сайта https://www.sqlite.org/download.html , затем всё это превратить в .lib https://unick-soft.ru/article.php?id=56 и затем уже добавить в проект и после #include "sqlite3.h" добавить #pragma comment(lib, "sqlite3.lib")

lakvak
  • 145