Ошибка компилятора , Andrey, 29-Дек-09, 19:28 [смотреть все]В общем час назад всё работало, и тут начало выдавать ошибку: [root@localhost ****]# gcc -o mysqlrun $(mysql_config --cflags) hello.c $(mysql_config --libs) /tmp/ccm27GdK.o: In function `main': /usr/****/hello.c:19: undefined reference to `mysql_connect' collect2: ld returned 1 exit status Из-за чего это может быть? Код: #include <stdio.h> #include <stdlib.h> #include "mysql.h"
MYSQL mysql; MYSQL_RES *res; MYSQL_ROW row; void exiterr(int exitcode) { fprintf(stderr, "%s\n", mysql_error(&mysql)); exit(exitcode); } int main() { 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); }
|
- Ошибка компилятора , Michael, 11:42 , 30-Дек-09 (1)
>В общем час назад всё работало, и тут начало выдавать ошибку: >[root@localhost ****]# gcc -o mysqlrun $(mysql_config --cflags) hello.c $(mysql_config --libs) >/tmp/ccm27GdK.o: In function `main': >/usr/****/hello.c:19: undefined reference to `mysql_connect' >collect2: ld returned 1 exit status >>что выдает mysql_config --libs? и проверьте, действительно ли там есть его библиотека
- Ошибка компилятора , Andrey, 12:29 , 30-Дек-09 (2)
Выдаёт: -rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto
- Ошибка компилятора , Andy_zzzzzz, 14:34 , 30-Дек-09 (3)
>Выдаёт: >-rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lssl -lcrypto проверь есть ли физически файлы библиотек в /usr/lib/mysql ?
- Ошибка компилятора , Andrey, 14:37 , 30-Дек-09 (4)
[root@localhost ~]# cd /usr/lib/mysql [root@localhost mysql]# dir libdbug.a libmysqlclient_r.so.16 libndbclient.a libheap.a libmysqlclient_r.so.16.0.0 libndbclient.so libmyisam.a libmysqlclient.so libndbclient.so.3 libmyisammrg.a libmysqlclient.so.15 libndbclient.so.3.0.0 libmysqlclient.a libmysqlclient.so.15.0.0 libvio.a libmysqlclient_r.a libmysqlclient.so.16 mysqlbug libmysqlclient_r.so libmysqlclient.so.16.0.0 mysql_config libmysqlclient_r.so.15 libmystrings.a plugin libmysqlclient_r.so.15.0.0 libmysys.aНе пойму, потому что всё работало, а тут резко такое
- Ошибка компилятора , Slavaz, 14:49 , 30-Дек-09 (5)
- Ошибка компилятора , Slavaz, 14:55 , 30-Дек-09 (6)
и немного странный код. Предлагаю шаблонно, в качестве наброска:MYSQL *conn = NULL; MYSQL *real_conn = NULL; conn = mysql_init (NULL); if (conn == NULL) return; mysql_options (conn, MYSQL_SET_CHARSET_NAME, "utf8"); mysql_options (conn, MYSQL_INIT_COMMAND, "set names 'utf8';"); real_conn = mysql_real_connect (conn, host_name, user_name, password, ... ); if (real_conn == NULL) { fprintf(stderr,"fail: %s\n",mysql_error (conn)); mysql_close (conn); } if (mysql_select_db (real_conn, connect_info.db_name) != 0){ ... } if (mysql_query(real_conn,"SELECT name,rate FROM emp_master")) { ... } ... mysql_close (real_conn); mysql_close (conn);
|