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


Автор Тема: MySQL и Anjuta  (Прочитано 1771 раз)

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

Оффлайн anton_l97

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
MySQL и Anjuta
« : 26 Февраль 2008, 09:46:06 »
Добрый день!
Недавно съехал с Wind-ы. В настоящее время использую Anjuta+Glade. И все вроде класcно и замечательно, однако, никак не удается получить доступ к функциям интерфейса C(C API) MySQL. MySQL установлен с репозитория Ubuntu 7.10 полностью , а также Query Browser и Administrator и прочие dev пакеты (в папке usr/lib/mysql и usr/inklude/mysql есть и библеотеки и h-файлы). И вот както из windozы (Borland C++ Builder 6) было давольно просто соединятся с mysql, но из Anjuta не могу найти соответствующий подход.
Подскажите пожалуйста, в каком направлении копать?

Оффлайн pretorean

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: MySQL и Anjuta
« Ответ #1 : 26 Февраль 2008, 13:40:53 »
man pkg-config
или скажи какую ошибку пишет при компиляции

Оффлайн anton_l97

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: MySQL и Anjuta
« Ответ #2 : 27 Февраль 2008, 03:43:54 »
Спасибо что откликнулся!
Опишу проблему более подробно.
Как мне показалось, Anjuta при компиляции проекта сама, каким то образом, настраивает ключи компиляции. Кроме того, проект не содержит какого-либо внятного make файла и в самой IDE каких либо настроек я не нашел ( аналогия с C++Builder не прокатила). Согласно одной из найденных мною статей, цитата:
Подготовка
Вы должны подключить файл mysql.h в начале Вашей программы на C:
#include "mysql.h"
Вы также должны компоновать программу с математической (для шифрования) и mysqlclient библиотеками:
$ cc -I/usr/include/mysql -L/usr/lib/mysql myapp.c -o myapp -lm -lmysqlclient
Включаемые файлы обычно размещены в /usr/include/mysql, а библиотеки могут быть найдены в /usr/lib/mysql.
конец цитаты, компилятору необходимо передать указанные параметры, но как это сделать в Anjuta я пока не знаю. Кроме тог, в файле main.c находящимся в проекте, работает только строка
#include </usr/include/mysql/mysql.h>
а строки типа:
#include <mysql.h> или #include «mysql.h»
приводят к ошибке открытия файла.
Далее при попытки вызвать функцию
mysql_connect(&mysql,"localhost","anton","130581");
выдается ошибка:
make

/bin/bash ../libtool --tag=CC   --mode=link gcc -Wall -g -g -O2   -o pr2 callbacks.o main.o -pthread -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomevfs-2 -lgnomecanvas-2 -lgnome-2 -lpopt -lbonobo-2 -lbonobo-activation -lart_lgpl_2 -lgconf-2 -lORBit-2 -lgthread-2.0 -lrt -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   

gcc -Wall -g -g -O2 -o pr2 callbacks.o main.o -pthread  /usr/lib/libgnomeui-2.so -lSM -lICE /usr/lib/libbonoboui-2.so /usr/lib/libgnomevfs-2.so /usr/lib/libgnomecanvas-2.so /usr/lib/libgnome-2.so /usr/lib/libpopt.so /usr/lib/libbonobo-2.so /usr/lib/libbonobo-activation.so /usr/lib/libart_lgpl_2.so /usr/lib/libgconf-2.so /usr/lib/libORBit-2.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglade-2.0.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libxml2.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm /usr/lib/libpangocairo-1.0.so -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage /usr/lib/libpango-1.0.so /usr/lib/libcairo.so -lX11 -lXfixes /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libglib-2.0.so 

main.o: In function `main':

/home/anton/Projects/pr2/src/main.c:56: undefined reference to `mysql_connect'

collect2: ld returned 1 exit status

make: *** [pr2] Ошибка 1

Completed... unsuccessful

Всего заняло времени: 2 секунд
Таким образом, мне не понятно как заставит Anjuta прикомпилить нужные библеотеки.

Оффлайн pretorean

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: MySQL и Anjuta
« Ответ #3 : 27 Февраль 2008, 08:15:35 »
не правда ваша, makefile имеется, в корне проекта лежит, без него никуда.
makefile создается с помощью утилит autoconf/automake

вот скриншотик
http://anjuta.sourceforge.net/screenshots/anjuta-2.1/anjuta-2.1.2-1.png
справа закладка проекта. у тебя там будет одна цель для компиляции со всеми исходниками.
потыкай свойства всего что там перечисленно. фактически там настраивается конфигурационные файлы для утилит autoconf/automake.

Оффлайн anton_l97

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: MySQL и Anjuta
« Ответ #4 : 27 Февраль 2008, 08:32:44 »
Ты имееш ввиду окошко "Свойство цели" с разворотом Compiler Settings? Эти параметры настраивать?

Оффлайн pretorean

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: MySQL и Anjuta
« Ответ #5 : 27 Февраль 2008, 08:38:44 »
Ты имееш ввиду окошко "Свойство цели" с разворотом Compiler Settings? Эти параметры настраивать?
чтото вроде того, не помню как называется ... нету под рукой анюты щяс, поэтому и полез скриншоты искать

Оффлайн anton_l97

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: MySQL и Anjuta
« Ответ #6 : 27 Февраль 2008, 09:01:35 »
Спасибо за совет!
Обратил внимание, на то, что makefile.am стал изменятся после изменений в этом окне.
Похоже это действительно то, что нужно. Буду пока дальше ковыряться.
Но тему пока закрывать рановато, если не трудно просматривай её иногда. :)

Оффлайн pretorean

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: MySQL и Anjuta
« Ответ #7 : 27 Февраль 2008, 09:06:49 »
Спасибо за совет!
Обратил внимание, на то, что makefile.am стал изменятся после изменений в этом окне.
Похоже это действительно то, что нужно. Буду пока дальше ковыряться.
Но тему пока закрывать рановато, если не трудно просматривай её иногда. :)
аська в профайле

 

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