Форум программистов, компьютерный форум CyberForum.ru

Проблемы при компоновке error LNK2019 - C++

Восстановить пароль Регистрация
 
A_Crash
4 / 4 / 0
Регистрация: 03.08.2013
Сообщений: 9
19.08.2013, 10:43     Проблемы при компоновке error LNK2019 #1
Добрый день.
Проблема заключается в следующем, когда использую сторонние библиотеки, в данном случае использовал исходники SQLite 3 (http://www.sqlite.org/2013/sqlite-am...on-3071700.zip), то при компиляции проекта получаю следующее (в работе использую Microsoft Visual Studio C++ 2008):

1>Компоновка...
1>SQLiteTest.obj : error LNK2019: ссылка на неразрешенный внешний символ _sqlite3_close в функции _main
1>SQLiteTest.obj : error LNK2019: ссылка на неразрешенный внешний символ _sqlite3_errmsg в функции _main
1>SQLiteTest.obj : error LNK2019: ссылка на неразрешенный внешний символ _sqlite3_open в функции _main

Как раз компоновщик ругается на вызов библиотечных функций.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#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));
      exit(0);
   }else{
      fprintf(stderr, "Opened database successfully\n");
   }
   sqlite3_close(db);
}
Использовал тестовый код вот отсюда http://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm раздел Connecting To Database.
Использовал шаблон проекта: "Консольное приложение Win32".

Ранее была подобная проблема с другими библиотеками, но в них помимо *.h файлов были ещё и *.lib, поэтому подключив в настройках компилятора дополнительные зависимости проблема была решена. В случае с sqlite3 и многими другими имеются только заголовочные файлы. Я менял настройки компилятора, но ничего не дало, гугл так же не помог. В чём может быть проблема, почему студия не компонует?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2013, 10:43     Проблемы при компоновке error LNK2019
Посмотрите здесь:

C++ Ошибка при компоновке
C++ Ошибка при компиляции error LNK2019
error LNK2019 при компиляции empty project C++
Ошибка при написании класса: error LNK2019: ссылка на неразрешенный внешний символ C++
C++ Ошибка при подключении заголовочного файла: "error LNK2019: unresolved external symbol"
C++ Ошибка при работе со структурами: error LNK2019: ссылка на неразрешенный внешний символ _main
C++ C++ - Error LNK1120,Error LNK2019
C++ Error LNK1120, error LNK2019, error LNK2028, queue

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14180 / 6195 / 984
Регистрация: 02.05.2013
Сообщений: 10,314
Завершенные тесты: 1
19.08.2013, 12:25     Проблемы при компоновке error LNK2019 #2
Включите в проект файл sqlite3.c.

Добавлено через 1 минуту
Цитата Сообщение от A_Crash Посмотреть сообщение
В чём может быть проблема, почему студия не компонует?
Компоновщик не знает, где находятся реализации sqlite3_open, sqlite3_close и sqlite3_errmsg.
Ему нужны или сами реализации (.c/.cpp), или ссылка на правильное место с помощью lib-файла.
A_Crash
4 / 4 / 0
Регистрация: 03.08.2013
Сообщений: 9
19.08.2013, 14:28  [ТС]     Проблемы при компоновке error LNK2019 #3
Понял, спасибо. Решил проблему. Необходимо было ещё сгенерировать файл sqlite3.lib из sqlite3.def, который находится в отдельном от исходников архиве (в архиве sqlite3.def и sqlite3.dll) http://www.sqlite.org/2013/sqlite-dl...86-3071700.zip, потом все файлы закидываются в директорию проекта.
Подробное описание данного процесса в данной статье http://www.watkyn.com/2008/07/using-...io-2008-c.html на случай если у кого подобная проблема.
Yandex
Объявления
19.08.2013, 14:28     Проблемы при компоновке error LNK2019
Ответ Создать тему
Опции темы

Текущее время: 18:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru