Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Mysql + C / 14 сообщений из 14, страница 1 из 1
18.05.2016, 19:04
    #39238577
fox_box
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
Нужно в программе выполнять запросы к бд. БД находится на той же машине. Для начала хочу просто выполнить соединение и создать БД.

Данные о системе:
ОС Ubuntu
Среда CodeBlocks
Язык С

mysql-server,mysql-client,libmysqld установлены.

расположение файлов:
/usr/include/mysql/mysql.h
/usr/lib/i386-linux-gnu/libmysqld.a

Код:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
#include <mysql/mysql.h>
#include <mysql/mysqld_error.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main()
{
MYSQL mysql;

mysql_init(&mysql);
mysql_connect (&mysql,"localhost","root","12345");
if (mysql_create_db(&mysql, "testdb"))
{
   printf(stderr, "Failed to create new database. Error: %s\n",mysql_error(&mysql));
}}



Если компилирую только с mysql.h, то выдает ошибки по названиям функций.
udefined reference to 'mysql_init'
udefined reference to 'mysql_connect'
А если добавляю в линковщик libmysql.a, то добавляется еще туча ошибок вида:
udefined reference to 'pthread ocne'

Что я делаю не так?
...
Рейтинг: 0 / 0
18.05.2016, 19:16
    #39238582
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
fox_boxЧто я делаю не так?
Не добавляешь при компиляции ключ -pthreads.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.05.2016, 19:26
    #39238585
fox_box
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
Dimitry SibiryakovНе добавляешь при компиляции ключ -pthreads.

куда этот ключ нужно добавить? (Компилирую не через консоль, а CodeBlocks).
...
Рейтинг: 0 / 0
18.05.2016, 19:40
    #39238590
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
fox_boxкуда этот ключ нужно добавить?
Очевидно, в свойства билда ("Build options").
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.05.2016, 20:07
    #39238598
fox_box
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
Dimitry SibiryakovОчевидно, в свойства билда ("Build options").

компилятор
В категориях такого флага нет, а при добавлении "-pthreads" в опции к компилятора (в 'other options') ничего нового не происходит. Линковщик его тоже не принимает. Можно еще поконкретнее?
...
Рейтинг: 0 / 0
18.05.2016, 20:31
    #39238611
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
fox_box,

надо указывать при сборке все нужные программе библиотеки .
из список можно найти например в документации к MySQL или в каком-то примере.
можно на живую накидать по ошибкам.
...
Рейтинг: 0 / 0
18.05.2016, 20:45
    #39238619
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
fox_boxВ категориях такого флага нет
А если найду?..

http://askubuntu.com/questions/568068/multithreading-in-codeblocks
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.05.2016, 21:22
    #39238634
fox_box
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
c -pthread разобрался. Надо было без 's' прописывать (копи-паст зло). Ошибок "udefined reference to 'pthread..." нет, но есть 50+ "udefined reference to 'dlopen, dlsum,inflate" и тп

MasterZivfox_box,
надо указывать при сборке все нужные программе библиотеки .
из список можно найти например в документации к MySQL или в каком-то примере.
можно на живую накидать по ошибкам.

А какие еще для самого простого примера нужны библиотеки? Мне бы этот код запустить, дальше бы сам разобрался.
...
Рейтинг: 0 / 0
18.05.2016, 21:47
    #39238642
fox_box
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
добавил флаги
-pthread
-Wl,--no-as-needed
-ldl
добавил все библиотки на "libmysql" 0 шибок, но все равно не запускается. Ладно на сегодня достаточно. Отпишитесь кто сталкивался с подобной проблемой!
...
Рейтинг: 0 / 0
18.05.2016, 21:49
    #39238643
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
fox_boxА какие еще для самого простого примера нужны библиотеки?
Что-то ты не то собираешь, похоже... Выглядит, будто ты линкуешь сервер, а не клиента.
Почитай доку на предмет какую именно библиотеку надо подключать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.05.2016, 03:04
    #39238696
fox_box
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
Через консоль скомпилировалось без проблем, но работают не все функции. Если верно все понял, то не работают 3 функции: connect, create_db и drop_db. В mysql.h они вынесены в отдельный блок "USE_OLD_FUNCTIONS" отдельно от основных. Мне достаточно коннектится через real_connect и отправлять запросы через query, но если кто знает отпишите как создать/удалить базу. Спасибо всем за ответы!
...
Рейтинг: 0 / 0
19.05.2016, 03:22
    #39238699
fox_box
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
upd По данной теме уже давно имеется инфа. Эх, если бы сразу ошибку с mysql_connect загуглил, а не с pthread разбирался.
Url оставлю, мало ли...
...
Рейтинг: 0 / 0
20.05.2016, 12:25
    #39239903
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
fox_box Мне достаточно коннектится через real_connect и отправлять запросы через query,


Возможно, это устаревшие функции, почитай документацию на эту тему. Я так хорошо MySQL Lib API не знаю.
(точнее, я его вообще не знаю).

fox_box но если кто знает отпишите как создать/удалить базу. Спасибо всем за ответы!

Создать и удалить базу чего ?

Это не вопрос уже по C++, это по MySQL.
Код: sql
1.
CREATE/DROP DATABASE|SCHEMA <schema name>
...
Рейтинг: 0 / 0
20.05.2016, 15:23
    #39240152
alexy_black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mysql + C
почему не черзе cmake? там такие проблемы решаются кажестя быстрее, да и более универсальный подход.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Mysql + C / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]