Модераторы: 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   Вверх
Larrikin
Дата 6.11.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



парни, как мне сделать свою первую программу, которая может делать хотя бы SELECT и INSERT на MySQL сервере через unix сокет?
> pkg_info
apache-1.3.37_1     The extremely popular Apache http server. Very fast, very c
autoconf-2.59_2     Automatically configure source code on many Un*x platforms
autoconf-2.61_2     Automatically configure source code on many Un*x platforms
autoconf-wrapper-20070404 Wrapper script for GNU autoconf
automake-1.10_3     GNU Standards-compliant Makefile generator (1.10)
automake-wrapper-20070404 Wrapper script for GNU automake
chrootuid-1.3       A simple wrapper that combines chroot(8) and su(1) into  on
cvsd-1.0.13_1       CVS pserver daemon
cvsup-without-gui-16.1h_2 General network file distribution system optimized for                                   CVS
expat-2.0.0_1       XML 1.0 parser written in C
gettext-0.14.5_2    GNU gettext package
glib-2.8.6_1        Some useful routines of C programming (current stable versi
gmake-3.81_1        GNU version of 'make' utility
help2man-1.36.4_1   Automatically generating simple manual pages from program o
jabberd-2.0.11_2    Online presence and instant messaging server
jpeg-6b_4           IJG's jpeg compression utilities
libiconv-1.9.2_2    A character set conversion library
libidn-0.6.8        Internationalized Domain Names command line tool
libtool-1.5.22_2    Generic shared library support script
libxml2-2.6.26      XML parser library for GNOME
links-2.1.p21,1     Lynx-like text WWW browser
lynx-2.8.5_2        A non-graphical, text-based World-Wide Web client
m4-1.4.4            GNU m4
mc-4.6.1_3          Midnight Commander, a free Norton Commander Clone
mu-conference-0.6.0_3 Multi-User Conferencing component for Jabber
mysql-client-5.0.27 Multithreaded SQL database (client)
mysql-server-5.0.27 Multithreaded SQL database (server)
nmap-4.11           Port scanning utility for large networks
p5-gettext-1.05_1   Message handling functions
pcre-6.7            Perl Compatible Regular Expressions library
pecl-PDO-1.0.3      PHP Data Objects Interface
perl-5.8.8          Practical Extraction and Report Language
php5-5.2.0          PHP Scripting Language (Apache Module and CLI)
php5-ctype-5.2.0    The ctype shared extension for php
php5-dom-5.2.0      The dom shared extension for php
php5-extensions-1.0 A "meta-port" to install PHP extensions
php5-iconv-5.2.0    The iconv shared extension for php
php5-mysql-5.2.0    The mysql shared extension for php
php5-pcre-5.2.0     The pcre shared extension for php
php5-posix-5.2.0    The posix shared extension for php
php5-session-5.2.0  The session shared extension for php
php5-simplexml-5.2.0 The simplexml shared extension for php
php5-sqlite-5.2.0   The sqlite shared extension for php
php5-tokenizer-5.2.0 The tokenizer shared extension for php
php5-xml-5.2.0      The xml shared extension for php
php5-xmlreader-5.2.0 The xmlreader shared extension for php
php5-xmlwriter-5.2.0 The xmlwriter shared extension for php
php5-zlib-5.2.0     The zlib shared extension for php
pkgconfig-0.20      A utility to retrieve information about installed libraries
png-1.2.14          Library for manipulating PNG images
ssh2-nox11-3.2.9.1_6 Secure shell client and server for V.2 SSH protocol
svgalib-1.4.3_5     A low level console graphics library
tiff-3.8.2_1        Tools and library routines for working with TIFF images
unzip-5.52_2        List, test and extract compressed files in a ZIP archive
> uname -sr
FreeBSD 6.2-STABLE
>

Это сообщение отредактировал(а) Larrikin - 6.11.2007, 11:29
PM MAIL WWW ICQ   Вверх
JackYF
Дата 6.11.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Одна тема - один вопрос. Создавай новую.


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


Шустрый
*


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

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



а это и есть тот же вопрос! он не менялся с первого поста - мне в проге первый раз в моей жизни надо работать с MySQL и не получается. Примеры не работают из доки - что делать не знаю, только надежда на помощь зала.
Хотя бы, может, подскажите доку конкретную по работе с мускулем в бзде, только работающую и достаточную для простых случаев, как у меня - получить массив, записать строку.
PM MAIL WWW ICQ   Вверх
bsa
Дата 6.11.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Larrikin, ты бы для приличия написал что именно у тебя не работает. и как именно. А то может у тебя, например, сервер не запущен, база или таблица не созданы.
PM   Вверх
Larrikin
Дата 6.11.2007, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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
Дата 6.11.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Larrikin, ты понимаешь, что у тебя неправильно собрана библиотека libmysqlclient, на основании которой ты собираешь писать программу? Тебе надо её пересобрать правильно, добыть/установить требуемую версию с помощью средств FreeBSD (я ими не владею, например).


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


Шустрый
*


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

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



не понимаю, как может быть неправильно собрана библиотека стандартным make install clean из свежих портов
может надо какой-нибудь особый порт ставить еще?
PM MAIL WWW ICQ   Вверх
orthrus
Дата 7.11.2007, 06:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



попробуйте в замен функции mysql_connect использовать mysql_real_connect, у вас наверное mysql был собран без USE_OLD_FUNCTIONS а в <mysql.h> по этому поводу описано следующие:
Код

#ifdef USE_OLD_FUNCTIONS
MYSQL *        STDCALL mysql_connect(MYSQL *mysql, const char *host,
                      const char *user, const char *passwd);
int        STDCALL mysql_create_db(MYSQL *mysql, const char *DB);
int        STDCALL mysql_drop_db(MYSQL *mysql, const char *DB);
#define     mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
#endif


да и во всех примерах идущих с mysql используется mysql_real_connect. Это все относительно mysql-5.0.34.


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


Шустрый
*


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

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



очень похоже, что дело в этом...

gcc -c godaemon.c main.c ncalc.c -I/usr/local/include/ -I/home/larrikin/files/ncalcd
ncalc.c: In function `ncalcd':
ncalc.c:18: error: too few arguments to function `mysql_real_connect'
gmake: *** [godaemon.o] Error 1


спасибо, хоть есть направление куда копать...
PM MAIL WWW ICQ   Вверх
orthrus
Дата 7.11.2007, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



посмотрите список параметров в <mysql.h>, или как его используют в тестовых примерах


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


Эксперт
****


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

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



Цитата(Larrikin @ 7.11.2007,  08:18)
очень похоже, что дело в этом...

gcc -c godaemon.c main.c ncalc.c -I/usr/local/include/ -I/home/larrikin/files/ncalcd
ncalc.c: In function `ncalcd':
ncalc.c:18: error: too few arguments to function `mysql_real_connect'
gmake: *** [godaemon.o] Error 1


спасибо, хоть есть направление куда копать...

http://dev.mysql.com/doc/refman/5.0/en/mys...al-connect.html
PM   Вверх
Larrikin
Дата 12.2.2008, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



я не понимаю, это что, сложно чтоль? просто подключиться к серверу mysql из unix на C?

ни один пример в интернете из разных док даже не компилируется... ну это же бред, такая элементарная операция столько времени задерживает...

> uname -rs
FreeBSD 6.2-RELEASE

> cat ncald.c
Код

#include <stdio.h> 
#include <mysql/mysql.h> 

int main(int argc, char *argv[]) 
{ 
        // Дескриптор соединения 
        MYSQL *conn; 
        // Получаем дескриптор соединения 
        conn == mysql_init(NULL); 
        if(conn == NULL) 
        { 
                // Если дескриптор не получен - выводим сообщение об ошибке 
                fprintf(stderr, "Error: can't create MySQL-descriptor\n"); 
                exit(1); 
        } 
        // Подключаемся к серверу 
        if(!mysql_real_connect(conn,NULL,"root",NULL,NULL,NULL,NULL,0)){ 
                // Если нет возможности установить соединение с сервером 
                // базы данных - выводим сообщение об ошибке 
                fprintf(stderr, 
                        "Error: can't connect to database %s \n", 
                        mysql_error(conn) 
                ); 
        } else { 
                // Если соединение успешно установлено, выводим фразу - "Success!" 
                fprintf(stdout, "Success!\n"); 
        } 
        // Закрываем соединение с сервером базы данных 
        mysql_close(conn); 
} 



> gcc -o ncalcd -I /usr/local/include/ ncald.c
ncald.c: In function `main':
ncald.c:18: warning: passing arg 6 of `mysql_real_connect' makes integer from pointer without a cast
/var/tmp//cclz8wKX.o(.text+0x22): In function `main':
: undefined reference to `mysql_init'
/var/tmp//cclz8wKX.o(.text+0x64): In function `main':
: undefined reference to `mysql_real_connect'
/var/tmp//cclz8wKX.o(.text+0x79): In function `main':
: undefined reference to `mysql_error'
/var/tmp//cclz8wKX.o(.text+0xb3): In function `main':
: undefined reference to `mysql_close'

> pkg_info | grep mysql-
mysql-client-5.1.21 Multithreaded SQL database (client)
mysql-server-5.1.21 Multithreaded SQL database (server)
PM MAIL WWW ICQ   Вверх
popovb
Дата 14.2.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Larrikin @ 12.2.2008,  19:38)
я не понимаю, это что, сложно чтоль? просто подключиться к серверу mysql из unix на C?

> gcc -o ncalcd -I /usr/local/include/ ncald.c
ncald.c: In function `main':
ncald.c:18: warning: passing arg 6 of `mysql_real_connect' makes integer from pointer without a cast
/var/tmp//cclz8wKX.o(.text+0x22): In function `main':
: undefined reference to `mysql_init'
/var/tmp//cclz8wKX.o(.text+0x64): In function `main':
: undefined reference to `mysql_real_connect'
/var/tmp//cclz8wKX.o(.text+0x79): In function `main':
: undefined reference to `mysql_error'
/var/tmp//cclz8wKX.o(.text+0xb3): In function `main':
: undefined reference to `mysql_close'


Все предельно просто?

Как собираешь? Инклюды подключил. А либы?

Ясно тебе компилятор сказал, что ссылка не определена.

Добавь -L/bla-bla/mysql -lmysqlclient -lz
PM MAIL   Вверх
Larrikin
Дата 14.2.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



действительно, проблема была всего-лишь узнать о ключе компиляции -L smile
пока продвигаюсь дальше...
PM MAIL WWW ICQ   Вверх
popovb
Дата 14.2.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Larrikin @ 14.2.2008,  11:59)
пока продвигаюсь дальше...

 smile 
удачи!
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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