The OpenNET Project / Index page

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

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

"undefined reference to"
Сообщение от Blackgrin emailИскать по авторуВ закладки on 23-Дек-03, 12:32  (MSK)
Приветствую Вас!
Есть программа:
#include
#include <mysql.h>
#include <string>
#include <fstream>
using namespace std;
using std::ios;
using std::cout;
using std::endl;
using std::ifstream;
MYSQL *conn;
void lofrfi() {
string ss[5000];
string tem,ll;
int f;
conn=mysql_init(NULL);
mysql_real_connect(conn,"localhost","root","","lanko",0,NULL,0);
if (mysql_query(conn,"Started")!=0) { cout <<"ERRRRRRR"; } ;
cout << "GO";
ifstream fin("access");
char ch;
fin.unsetf(ios::skipws);
f=0;
tem="";
while (!fin.eof()) {
fin >> ch;
if (ch=='\n'){
ss[f]=tem; cout << ss[f]; f++; tem="";} else { tem=tem+ch; }
}
fin.close(); mysql_close(conn); }
int main(int argc, char *argv[])
{ lofrfi();
return 0; }

Пытаюсь скомпелировать и получаю:
g++ -o trsrun trs.cpp -I'/usr/include/mysql'
trs.cpp:33:1: warning: no newline at end of file
/tmp/ccyhpOSR.o: In function `lofrfi()':
/tmp/ccyhpOSR.o(.text+0x10b): undefined reference to `mysql_init'
/tmp/ccyhpOSR.o(.text+0x138): undefined reference to `mysql_real_connect'
/tmp/ccyhpOSR.o(.text+0x14e): undefined reference to `mysql_query'
/tmp/ccyhpOSR.o(.text+0x31c): undefined reference to `mysql_close'
collect2: ld returned 1 exit status
и Что с ним делать в упор не знаю :( ПОиском пробывал пользоваться наткнулся на такое, когда пипл пытался скомпилировать не с++шным а просто сишным компилятором свои программы использующие с++шные операции... А с этим ничего не нашел...
Заранее благодарю!

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

 Оглавление

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

1. "undefined reference to"
Сообщение от XMan Искать по авторуВ закладки on 23-Дек-03, 14:56  (MSK)
Ну добавил бы какой-нибудь "-lmysqlclient". Тебе ж линкер ругается, который не может найти эти четыре функции ни в одной подключаемой библиотеке (не заголовочном файле [.h], а аименно библиотеке [lib.....so]).
Правильно делает, между прочим - ты ж либу mysql не подключаешь :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "undefined reference to"
Сообщение от Blackgrin emailИскать по авторуВ закладки on 23-Дек-03, 15:30  (MSK)
Нашел файлик: libmysqlclient.a
Как я понял это чтот типа архива...
в архиве еще был файлик: libmysql.o
Я и тот и второй попереписывал в
/usr/include
/usr/include/mysql
/usr/include/c++/3.2
Компилирую:
g++ -o trsrun trs.cpp -I'/usr/include/mysql' -libmysqlclient или
g++ -o trsrun trs.cpp -I'/usr/include/mysql' -libmysqlclient.a
trs.cpp:33:1: warning: no newline at end of file
/usr/bin/ld: cannot find -libmysqlclient.a
collect2: ld returned 1 exit status

А когда сделал:
g++ -o trsrun trs.cpp -I'/usr/include/mysql' libmysqlclient.a
trs.cpp:33:1: warning: no newline at end of file
libmysqlclient.a(my_compress.o): In function `my_compress_alloc':
my_compress.o(.text+0xb4): undefined reference to `compress'
libmysqlclient.a(my_compress.o): In function `my_uncompress':
my_compress.o(.text+0x12a): undefined reference to `uncompress'
collect2: ld returned 1 exit status

Появились новые вопросы ;)
>Ну добавил бы какой-нибудь "-lmysqlclient". Тебе ж линкер ругается, который не может
>найти эти четыре функции ни в одной подключаемой библиотеке (не заголовочном
>файле [.h], а аименно библиотеке [lib.....so]).
>Правильно делает, между прочим - ты ж либу mysql не подключаешь :)
>


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

3. "undefined reference to"
Сообщение от solov Искать по авторуВ закладки on 23-Дек-03, 16:52  (MSK)
Проблема в том, что ты подключаеш только заголовчные файлы
-I/usr/include/mysql , а надо еще библиотеку -L/usr/.../ -lmysqlclient

#g++ -o trsrun trs.cpp -I'/usr/include/mysql' -L/usr/.../ -libmysqlclient

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

5. "undefined reference to"
Сообщение от XMan Искать по авторуВ закладки on 23-Дек-03, 21:59  (MSK)
Гм. А, типа, то что я написал "-lmysqlclient", а ты "-libmysqlclient" ни о чем не говорит ? :)
Я так понимаю, у тебя где-то должен валяться "libmysqlclient.so".
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "undefined reference to"
Сообщение от solov Искать по авторуВ закладки on 23-Дек-03, 17:04  (MSK)
если сообщение compres или uncompress тогда добавить ключ -lz или -lgz чтобы линкер знал что ему надо библиотеку компримирования искать zlib

>g++ -o trsrun trs.cpp -I'/usr/include/mysql' -L/usr/.../ -lmysqlclient -lz

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


Удалить

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




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

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