Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как подключить SQLite к проекту ?  (Прочитано 34697 раз)
0 Пользователей и 1 Гость смотрят эту тему.
demon051
Помогающий

ru
Offline Offline

« : 02-02-2018 12:49 » 

Всем привет!

Пытаюсь программить под linux для ПЛК
Использую Qt
Установлен соответствующий тулчейн c компилятором под процессор прибора, настроен kit
Пакеты для SQlite установлены в системе.

Имею проект состоящий из main.cpp типа "hello world"

пытаюсь цеплять к нему файлы от sqlite3
Почитал в инете, что достаточно просто добавить их к проекту.


файл CMakeList.txt выглядит так

make_minimum_required(VERSION 2.8)

project(gdb-test)
set(SOURCES sqlite3.c main.cpp)
set(HEADERS sqlite3.h)
add_executable(${PROJECT_NAME} ${HEADERS} ${SOURCES} )

при компиляции вылетают ошибки по файлу sqlite3.c

Что делаю неправильно?
В программировании под линукс я - около нуля

Так что просьба не ругаться, а объяснить что надо сделать, чтобы использовать в своем проекте SQLite!
Записан
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #1 : 03-02-2018 13:04 » 

demon051, какие ошибки возникают? Получается собрать библиотеку командой gcc -c sqlite3.c ? На будущее, советую почитать.
« Последнее редактирование: 03-02-2018 15:39 от darkelf » Записан
demon051
Помогающий

ru
Offline Offline

« Ответ #2 : 05-02-2018 08:19 » 

demon051, какие ошибки возникают? Получается собрать библиотеку командой gcc -c sqlite3.c ? На будущее, советую почитать.

сначала выдавал кучу ошибок, я эту кучу не сохранил. Улыбаюсь
сейчас, после моих ковыряний с проектом, выдает: cannot find -lsqlite3
Пакеты sqlite я поставил. (вызов sqlite3 через терминал работает)
Ковыряюсь в файловой системе и не могу понять, куда поставились библиотеки, чтобы прописать путь к ним в проекте. Жаль

Записан
Михалыч
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 05-02-2018 08:49 » 

-lsqlite3
Вот именно так, без пробела?
Записан

Поживем - увидим... Доживем - узнаем... Выживу - учту  Улыбаюсь
demon051
Помогающий

ru
Offline Offline

« Ответ #4 : 05-02-2018 08:53 » 

-lsqlite3
Вот именно так, без пробела?
ага, именно так
Записан
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #5 : 05-02-2018 09:42 » 

demon051, какие ошибки возникают? Получается собрать библиотеку командой gcc -c sqlite3.c ? На будущее, советую почитать.

сначала выдавал кучу ошибок, я эту кучу не сохранил. Улыбаюсь
сейчас, после моих ковыряний с проектом, выдает: cannot find -lsqlite3
Пакеты sqlite я поставил. (вызов sqlite3 через терминал работает)
Ковыряюсь в файловой системе и не могу понять, куда поставились библиотеки, чтобы прописать путь к ним в проекте. Жаль
Если Вы подключаете именно через исходники - подложив в каталог к своим исходникам файлы sqlite3.[ch], как написали в первом посте, то никаких -lsqlite3 не надо. Если более-менее штатно, беря системные, то таки да, #include <sqlite3.h> в исходниках, и -lsqlite3 в makefile-е.

PS: линуксов больше одного, и даже больше двух, поэтому просьба уточнить программное окружение. И таки прочитать "Как правильно задавать вопросы".
Записан
demon051
Помогающий

ru
Offline Offline

« Ответ #6 : 05-02-2018 10:13 » 

demon051, какие ошибки возникают? Получается собрать библиотеку командой gcc -c sqlite3.c ? На будущее, советую почитать.

сначала выдавал кучу ошибок, я эту кучу не сохранил. Улыбаюсь
сейчас, после моих ковыряний с проектом, выдает: cannot find -lsqlite3
Пакеты sqlite я поставил. (вызов sqlite3 через терминал работает)
Ковыряюсь в файловой системе и не могу понять, куда поставились библиотеки, чтобы прописать путь к ним в проекте. Жаль
Если Вы подключаете именно через исходники - подложив в каталог к своим исходникам файлы sqlite3.[ch], как написали в первом посте, то никаких -lsqlite3 не надо. Если более-менее штатно, беря системные, то таки да, #include <sqlite3.h> в исходниках, и -lsqlite3 в makefile-е.

PS: линуксов больше одного, и даже больше двух, поэтому просьба уточнить программное окружение. И таки прочитать "Как правильно задавать вопросы".

cat /proc/version
Linux version 4.9.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18) ) #1 SMP Debian 4.9.65-3 (2017-12-03)

задам глупый вопрос: т.е. файл sqlite3.с - есть реализация полная реализация библиотеки sqlite3?
и достаточно их включать в состав проекта, чтобы проект мог работать с базой данных?

и как другой вариант - прилинковывать библиотеку, и подключать заголовочный sqlite3.h.

я сам в проекте никаким образом не подключаю библиотеку.
вот сейчас для проверки создал пустой проект с единственной функцией main и подцепил к нему sqlite3.c  sqlite3.h и всё.
после попытки собрать вылезает ошибка, что не находит библиотеку.

видимо завязка на библиотеку в файлах  sqlite3.c  sqlite3.h - скачаны с сайта производителя Улыбаюсь



пардон!!!! обманул Вас!!!!
если подключить только эти два файла, то вот что выходит при попытке собрать проект - см. приложенный файл.

(click to show)

* 1234.png (83.03 Кб - загружено 1594 раз.)
« Последнее редактирование: 05-02-2018 11:21 от RXL » Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 05-02-2018 11:14 » 

Добавь в список линковки библиотеки dlopen и pthread
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
demon051
Помогающий

ru
Offline Offline

« Ответ #8 : 05-02-2018 11:30 » 

Добавь в список линковки библиотеки dlopen и pthread

в системе они не находятся, можете подсказать, из какого пакета они ставятся? или их надо собирать из исходников?
Записан
demon051
Помогающий

ru
Offline Offline

« Ответ #9 : 05-02-2018 12:06 » 

Добавь в список линковки библиотеки dlopen и pthread

c pthrea разобрался, доставил соответствующий пакет разработчика, либа появилась и прилинковалась. а вот dlopen - не могу найти откуда ее подцепить....
Записан
demon051
Помогающий

ru
Offline Offline

« Ответ #10 : 05-02-2018 12:26 » new

Добавь в список линковки библиотеки dlopen и pthread

усё! я его забодал! )  спасибо за подсказку.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines