Перейти к содержимому

с + mysql ubuntu

  • недавно на форуме
  • Pip
  • Вставить ник
  • Цитировать
  • Группа: Новички
  • Сообщений: 43

итак, к делу
есть некий main.c, который имеет main() и в теле его вызывает функцию foo() из ./functions/func.c

func.c:

CODE

#include <mysql/mysql.h>
#include <stdio.h>

int foo()
{
              // вызываем разные функции mysql
}

main.c:
CODE

#include "headers/main.h"
int main ()
{
  foo();
}

headers/main.h:
CODE
int foo ();


компилируем каждый по отдельности
gcc -c main.c
gcc -c ./functions/func.c
компилируется и создает объектные файлы

линкуем
gcc -o lol main.o ./functions/func.o
но! он выдает ошибки

QUOTE
func.c:(.text+0x2a): undefined reference to `mysql_init'
func.c:(.text+0x6c): undefined reference to `mysql_real_connect'
func.c:(.text+0x7b): undefined reference to `mysql_error'

почему не хочет работать?

Сообщение отредактировал ololo: 07.01.2010 - 13:44

  • 0

  • олигарх (будущий)
  • PipPip
  • Вставить ник
  • Цитировать
  • Группа: Пользователи
  • Сообщений: 115

Библиотеки мускула не надо передавать линковщику?
ИМХО лучше написать makefile, чем так проект собирать.
Nil admirari
  • 0

  • недавно на форуме
  • Pip
  • Вставить ник
  • Цитировать
  • Группа: Новички
  • Сообщений: 43

ну мейкфайл то есть, а вот с либами я маху дал =(
как я понимаю gcc `mysql_config --libs` -o blabla

Сообщение отредактировал ololo: 07.01.2010 - 16:47

  • 0

  • Наномеханик
  • PipPip
  • Вставить ник
  • Цитировать
  • Группа: Пользователи
  • Сообщений: 707

у мускула вкомплекте есть библиотека функций что-то типа libmySQL.lib подключай её к проекту и из папки include MySQL'a бери хедеры my_global.h, mysql.h и юзай их.
по крайней мере в венде всё робило
  • 0

  • Think Different
  • PipPipPipPip
  • Вставить ник
  • Цитировать
  • Группа: Донатор
  • Сообщений: 4 125

читаем man gcc где написано про параметры -l и -L
Painavi mieleni kuin kaikki maa. Vaipuu jo eloni sammalten taa.
Ikihonkain siimekseen yksin nyt jään. Menneet on linnut sen, lehvät vain nään.
  • 0

  • недавно на форуме
  • Pip
  • Вставить ник
  • Цитировать
  • Группа: Новички
  • Сообщений: 7

в программу включаешь
#include <mysql/mysql.h>

компилируешь программу g++ prog.cpp -lmysqlclient

Сообщение отредактировал capitan_nemo: 20.01.2010 - 23:52

  • 0


1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей