|
|
|
| Помогите пожалуйста с решением проблемы, есть программа приведенная ниже, и ошибки при компиляции (ниже).
Я уже 2 дня мучаюсь перепробовал миллион вариантов, в чем проблема не знаю. Использую NetBeans 7.01 (под ubuntu). Буду безмерно рад решению проблемы.
КОД:
#include <my_global.h>
#include <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);
} |
Выводимые ошибки:
build/Debug/GNU-Linux-x86/main.o: In function `main':
/home/vladimir/NetBeansProjects/Zakupki/main.cpp:9: undefined reference to `mysql_init'
/home/vladimir/NetBeansProjects/Zakupki/main.cpp:25: undefined reference to `mysql_real_connect'
/home/vladimir/NetBeansProjects/Zakupki/main.cpp:31: undefined reference to `mysql_error'
/home/vladimir/NetBeansProjects/Zakupki/main.cpp:39: undefined reference to `mysql_close'
collect2: ld returned 1 exit status | |
|
|
|
|
|
|
|
для: _Vladimir
(26.12.2011 в 17:22)
| | Проблема в том, что компилируется все нормально, но линковщик не видит библиотеку libmysql.lib (как вариант libmysql.so). Бинарного модуля вашей программы main.o мало, нужен еще бинарный модуль от <mysql.h> - его обнаружить не удается. | |
|
|
|
|
|
|
|
для: cheops
(26.12.2011 в 18:40)
| | спасибо! Действительно при компоновке необходимо указать динамическую библиотеку mysqlclient с параметром -l, все работает. | |
|
|
|
|
|
|
|
для: _Vladimir
(26.12.2011 в 17:22)
| | Кстати, помоему гораздо удобнее использовать SQLite, я попробовал с MySQL работать - не удобно, постоянно какие-то проблемы. Кроме того у них embedded-вариант (встроенный в программу) сервер помоему окончательно заброшен. SQLite без проблем вставляется в программу, а имеет тот же SQL-синтаксис, что и MySQL (покрайней мере базовые вопросы - не отличить) и внешний сервер не нужен. Причем его можно как в проект вставить (коды свободные и представляют собой пару файлов), так и готовую DLL-библиотеку использовать. | |
|
|
|