The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Компиляция с поддержкой MySQL"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Компиляция с поддержкой MySQL"
Сообщение от Minotaur emailИскать по авторуВ закладки on 11-Авг-03, 14:37  (MSK)
Всем доброго времени суток!
Проблема: не могу с помощью ld скомпилировать проект. Получаю ошибку

trafstat.o: In function `program_init':
trafstat.o(.text+0x33b): undefined reference to `MYSQL_CONNECT'
trafstat.p(46) Error: Error while linking

Проверил все:
/etc/ld.so.conf
Причем не удается скомпилировать ни с параметром -static, ни без него.
Все библиотеки на месте, ldconfig -r дает правильную распечатку, в параметрах ld указываю -lmysqlclient -L/path/to/mysqlclient
Ничего не помогает... :( Перечитал много форумов - везде все касается
параметров -lmysqlclient -L/path/to/mysqlclient.

В чем еще может быть проблема?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Компиляция с поддержкой MySQL"
Сообщение от Soldier Искать по авторуВ закладки on 11-Авг-03, 15:54  (MSK)
>Всем доброго времени суток!
>Проблема: не могу с помощью ld скомпилировать проект. Получаю ошибку
>
>trafstat.o: In function `program_init':
>trafstat.o(.text+0x33b): undefined reference to `MYSQL_CONNECT'
>trafstat.p(46) Error: Error while linking
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Это, вы что на паскале(или это Kylix) что-ли под Unix?

А MYSQL_CONNECT  в этой либе и в самом деле нет - есть mysql_connect :-).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Компиляция с поддержкой MySQL"
Сообщение от Minotaur emailИскать по авторуВ закладки on 11-Авг-03, 16:09  (MSK)

>Это, вы что на паскале(или это Kylix) что-ли под Unix?
>
>А MYSQL_CONNECT  в этой либе и в самом деле нет -
>есть mysql_connect :-).

Это компилятор fpc.
На самом деле большие буквы появились в результате моих попыток объявить внешнюю функцию. Что-то типа

function mysql_connect(mysql: PMYSQL; host: pchar; user: pchar; passwd: pchar):PMYSQL;external;

Дописывание cdecl; ничего не меняет. Линковать все-равно не хочет. Результат тот-же:
trafstat.o: In function `program_init':
trafstat.o(.text+0x33b): undefined reference to `mysql_connect'
trafstat.p(46) Error: Error while linking

Причем как ни правь ppas.sh (создается fpc и запускается для линкования) - как не добавляй параметры для ld - ситуация не меняется.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Компиляция с поддержкой MySQL"
Сообщение от Soldier Искать по авторуВ закладки on 12-Авг-03, 07:36  (MSK)
>
>>Это, вы что на паскале(или это Kylix) что-ли под Unix?
>>
>>А MYSQL_CONNECT  в этой либе и в самом деле нет -
>>есть mysql_connect :-).
>
>Это компилятор fpc.
>На самом деле большие буквы появились в результате моих попыток объявить внешнюю
>функцию. Что-то типа
>
>function mysql_connect(mysql: PMYSQL; host: pchar; user: pchar; passwd: pchar):PMYSQL;external;
>
>Дописывание cdecl; ничего не меняет. Линковать все-равно не хочет. Результат тот-же:
>trafstat.o: In function `program_init':
>trafstat.o(.text+0x33b): undefined reference to `mysql_connect'
>trafstat.p(46) Error: Error while linking
>
>Причем как ни правь ppas.sh (создается fpc и запускается для линкования) -
>как не добавляй параметры для ld - ситуация не меняется.


fpc 1.0.10
Сработало так:


{$LINKLIB mysqlclient}

function mysql_connect(pmysql:pointer;host,user,pass:pchar):pointer;cdecl;external;
function mysql_error(pmysql:pointer):pointer;cdecl;external;
function mysql_close(pmysql:pointer):pointer;cdecl;external;


var mysql:array[0..4096] of char;

BEGIN
if mysql_connect(@mysql,'127.0.0.1','user','pass')=nil then begin
  writeln(strpas(mysql_error(@mysql)));
  halt(1);
end;
mysql_close(@mysql);
END.

Компилировать: fpc file.pp

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Компиляция с поддержкой MySQL - проблема решена"
Сообщение от Minotaur emailИскать по авторуВ закладки on 12-Авг-03, 10:58  (MSK)
Все. Разобрался. На самом деле проблема совсем иного рода.
Начиная с версии 4.0 в MySQL присутствует новый API, в котором нет
функции mysql_connect. Зато есть mysql_init+mysql_real_connect.
Для того, чтобы mysqlclient версии > 4.0 поддерживал вызовы устаревших функций, его библиотеки следует скомпилировать с ключом
-DUSE_OLD_FUNCTIONS. Тогда все чудесно работает.
Но разработчики рекомендуют использовать связку mysql_init+mysql_real_connect.

Удачи!

З.Ы. Рекомендую в FAQ.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Компиляция с поддержкой MySQL - проблема решена"
Сообщение от Soldier Искать по авторуВ закладки on 12-Авг-03, 12:31  (MSK)
>Все. Разобрался. На самом деле проблема совсем иного рода.
>Начиная с версии 4.0 в MySQL присутствует новый API, в котором нет
>
>функции mysql_connect. Зато есть mysql_init+mysql_real_connect.
>Для того, чтобы mysqlclient версии > 4.0 поддерживал вызовы устаревших функций, его библиотеки следует скомпилировать с ключом
>-DUSE_OLD_FUNCTIONS. Тогда все чудесно работает.
>Но разработчики рекомендуют использовать связку mysql_init+mysql_real_connect.
>
>Удачи!
>
>З.Ы. Рекомендую в FAQ.

Оно все замечательно... Но почему PASCAL??!! Это конечно же мое личное мнение, но мне кажется, что потивоестественно использовать pascal под *n*x :)))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Компиляция с поддержкой MySQL - проблема решена"
Сообщение от Minotaur emailИскать по авторуВ закладки on 12-Авг-03, 14:41  (MSK)

>Оно все замечательно... Но почему PASCAL??!! Это конечно же мое личное мнение,
>но мне кажется, что потивоестественно использовать pascal под *n*x :)))


Оно-то так... Да только сроки сжатые. А вот Перл подошел бы идеально,
да только с ним мне разбираться некогда, а Паскаль как никак досконально знаю... :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру