Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: MySQL++, не хочет собираться  (Прочитано 754 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vlad.V

  • Автор темы
  • Активист
  • *
  • Сообщений: 478
    • Просмотр профиля
MySQL++, не хочет собираться
« : 04 Января 2015, 02:20:28 »
Всем доброе время суток!
Птаюсь понять как работать с MySQL и C++, нашел библиотеку MySQL++, но никак не могу скомпилировать программу. Может кто-то мне объяснить, почему пример ниже, с официальной документации, не хочет собираться?

Цитировать
Вот как будет выглядеть всемирно известный тест "Hello, world" при использовании библиотеки MySQL++:
#include <mysql++.h>

int main()
{
  mysqlpp::String hello( "Привет всем!" );
  std::cout << hello << std::endl;
  return 0;
}

Предположим, что приведённый выше исходный код сохранён в файле с именем hello.cpp. Тогда Make-файл для компиляции и создания выполняемой программы может быть таким:

CXX := g++
CXXFLAGS := -I/usr/include/mysql -I/usr/include/mysql++
LDFLAGS := -lmysqlpp -lmysqlclient
EXECUTABLE := hello

all: $(EXECUTABLE)

clean:
       rm -f $(EXECUTABLE) *.o

Тупо ругается линкер и все! Пробовал другие разные примеры, такая же фигня, линкер ругается.
Или может стоит использовать какую-то другую библиотеку?

Заранее спасибо!

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 755
    • Просмотр профиля
Re: MySQL++, не хочет собираться
« Ответ #1 : 04 Января 2015, 10:02:23 »
Как именно ругается? Руками пробовал скомпилировать?
Код: (bash) [Выделить]
g++ -I/usr/include/mysql -I/usr/include/mysql++ hello.cpp -o hello -lmysqlpp -lmysqlclient
Пользователь решил продолжить мысль [time]04 Январь 2015, 11:06:41[/time]:
Заметил в makefile'е ошибку.
Не LDFLAGS, а LIBS используется для указания библиотек (-l). В LDFLAGS пишутся пути к директориям с либами (-L)
« Последнее редактирование: 04 Января 2015, 10:08:47 от aSmile »

Оффлайн Vlad.V

  • Автор темы
  • Активист
  • *
  • Сообщений: 478
    • Просмотр профиля
Re: MySQL++, не хочет собираться
« Ответ #2 : 04 Января 2015, 11:06:30 »
Работает!! Поробую другие примеры. А в чем тогда проблема с makefile?

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 755
    • Просмотр профиля
Re: MySQL++, не хочет собираться
« Ответ #3 : 04 Января 2015, 13:33:53 »
Перечитай мое сообщение полностью

Оффлайн Vlad.V

  • Автор темы
  • Активист
  • *
  • Сообщений: 478
    • Просмотр профиля
Re: MySQL++, не хочет собираться
« Ответ #4 : 04 Января 2015, 15:19:38 »
Видимо я ответил раньше чем появилось дополнение.
Спасибо!

Пользователь решил продолжить мысль [time]04 Январь 2015, 23:32:32[/time]:
А что все таки правильно использовать, нативную библиотеку libmysql от MySql или libmysql++ от Tangentsoft? Кто-то говорит нафиг нужен mysql++, если есть нативная, логика подсказывает, что все таки для с++ лучше использовать mysql++, а как на практике? Работает ли mysql++ с MariaDB? Возможно вопрос глуповать, но сделайте скидку на то, что я только учусь работать с БД и C++.

Спасибо!!
« Последнее редактирование: 04 Января 2015, 22:36:49 от Vlad.V »

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 755
    • Просмотр профиля
Re: MySQL++, не хочет собираться
« Ответ #5 : 05 Января 2015, 01:59:04 »
libmysqlclient - сишная библиотека. А mysql++ - c++ обертка этого апи. Что она поддерживает или нет - надо смотреть в её документации

 

Страница сгенерирована за 0.029 секунд. Запросов: 25.