Модераторы: xvr

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> undefined reference to `mysql_connect' 
V
    Опции темы
Larrikin
Дата 19.10.2007, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 15.8.2007

Репутация: нет
Всего: нет



делаю по этому примеру http://im-host.net/uchebnik-mysql55.html

ncalcd.c
Код

#include <common.h>
/* This is the daemon's main work */

MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;

void exiterr(int exitcode)
{
    fprintf(stderr, "%s\n", mysql_error(&mysql));
    exit(exitcode);
}

void ncalcd()
{
    uint i = 0;

    if (!(mysql_connect(&mysql,"host","username","password")))
        exiterr(1);

    if (mysql_select_db(&mysql,"payroll"))
        exiterr(2);

    if (mysql_query(&mysql,"SELECT name,rate FROM emp_master"))
        exiterr(3);

    if (!(res = mysql_store_result(&mysql)))
        exiterr(4);

    while((row = mysql_fetch_row(res)))
    {
        for (i=0 ; i < mysql_num_fields(res); i++)
            printf("%s\n",row[i]);
    }

    if (!mysql_eof(res))
        exiterr(5);
    mysql_free_result(res);
    mysql_close(&mysql);
}




common.h
Код

#include <err.h>
#include <errno.h>
#include <fcntl.h>
//#include <libutil.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <syslog.h>
#include <unistd.h>
#include <mysql/mysql.h>


при сборке:

gcc -c godaemon.c main.c ncalc.c -I /usr/local/include/ -I /home/larrikin/files/ncalcd
gcc  -o ncalcd godaemon.o main.o ncalc.o -L /usr/local/lib/mysql/ -l mysqlclient
ncalc.o(.text+0x5a): In function `ncalcd':
: undefined reference to `mysql_connect'
gmake: *** [ncalcd] Error 1


как правильно? нужно всего лишь работать с mysql из проги - select, insert, delete

uname -sr
FreeBSD 6.2-STABLE

PM MAIL WWW ICQ   Вверх
JackYF
Дата 19.10.2007, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 3
Всего: 162



mysql сам собирал, раз в /usr/local/lib лежит?

Экспортирует ли /usr/local/lib/mysql/mysqlclient.so нужные недостающие функции?
Если установлен mc, посмотри это через F3 на этот файл и поищи там эти функции, например mysql_connect...


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
archimed7592
Дата 19.10.2007, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 3
Всего: 93



Цитата(Larrikin @  19.10.2007,  17:00 Найти цитируемый пост)
-l mysqlclient

Я не уверен, но вроде это нужно без пробела писать...


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
JackYF
Дата 20.10.2007, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 3
Всего: 162



Цитата(JackYF @  19.10.2007,  17:20 Найти цитируемый пост)
Если установлен mc, посмотри это через F3 на этот файл и поищи там эти функции, например mysql_connect... 

upd: можно намного легче:

Цитата

nm -g /usr/local/lib/mysql/mysqlclient.so | grep mysql_connect



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
GrayCardinal
Дата 20.10.2007, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58




Добавлено @ 09:55
Моды, убейте рекламу, плиз...

Это сообщение отредактировал(а) GrayCardinal - 20.10.2007, 10:07


--------------------
PM MAIL WWW   Вверх
Larrikin
Дата 20.10.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 15.8.2007

Репутация: нет
Всего: нет



> nm -g /usr/local/lib/mysql/mysqlclient.so | grep mysql_connect
nm: '/usr/local/lib/mysql/mysqlclient.so': No such file

PM MAIL WWW ICQ   Вверх
MAKCim
Дата 20.10.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Larrikin, 
значит посмотри как библиотека называется у тебя (если она конечно есть)

Это сообщение отредактировал(а) MAKCim - 20.10.2007, 15:34


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Larrikin
Дата 4.11.2007, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 15.8.2007

Репутация: нет
Всего: нет



# nm -g /usr/local/lib/mysql/libmysqlclient.so | grep mysql_connect
#
PM MAIL WWW ICQ   Вверх
JackYF
Дата 4.11.2007, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 3
Всего: 162



Larrikin, итого ты сам видишь - нужной тебе функции нет. Собери еще раз, полностью мускул, а лучше установи из репозитория.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Larrikin
Дата 4.11.2007, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 15.8.2007

Репутация: нет
Всего: нет



да я из портов и ставил... может там какие опции надо при сборке?
PM MAIL WWW ICQ   Вверх
JackYF
Дата 5.11.2007, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 3
Всего: 162



Цитата(Larrikin @  4.11.2007,  23:33 Найти цитируемый пост)
да я из портов и ставил...

а, так у тебя gentoo... с этого надо было начинать.

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


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
orthrus
Дата 5.11.2007, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

Репутация: нет
Всего: 16



Цитата(JackYF @ 5.11.2007,  02:30)
Цитата(Larrikin @  4.11.2007,  23:33 Найти цитируемый пост)
да я из портов и ставил...

а, так у тебя gentoo... с этого надо было начинать.

Если из портов то это не gentoo а freeBSD.


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
archimed7592
Дата 5.11.2007, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 3
Всего: 93



Цитата(orthrus @  5.11.2007,  06:25 Найти цитируемый пост)
Если из портов то это не gentoo а freeBSD. 

А в генту что? rpm'ки? smile
Не помню какой МП использует FreeBSD, но точно помню, что гента использует portage и ставит она всё как раз таки из портов smile.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
bsa
Дата 5.11.2007, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



archimed7592, в FreeBSD все в основном ставится буквально из "портов" ("ports"). Только там не так все круто как в дженте. Чтобы что-то установить из исходников надо найти это "что-то" в /usr/ports, зайти в каталог и дать команду make install.

Это сообщение отредактировал(а) bsa - 5.11.2007, 12:15
PM   Вверх
orthrus
Дата 5.11.2007, 13:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

Репутация: нет
Всего: 16



В gentoo пакеты так и называется package. А во фрях порты(если из исходников собирать) или пакеты(если ставить бинарную сборку).


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0688 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.