음 현재 mysql을 가지고 컴파일을 하려 합니다.
그런데 문제가 계속적으로
링크를 못시켜요...
그래서 라이브러리가 잘못됬나 해서 소스 가져다가 다시 컴파이해서
만들어 보았는데 그래도 에러는 마찬가지더군요...
#include <stdio.h>
#include <stdlib.h>
#include </usr/include/mysql/mysql.h>
//#ifdef HAVE_MYSQL_REAL_CONNECT
//#ifdef HAVE_ERRMSG_H
//#include <errmsg.h>
//#endif
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
void exiterr(int exitcode)
{
// fprintf(stderr, "%s", mysql_error(&mysql));
// exit(exitcode);
}
void init_db()
{
// if(!(mysql_connect(&mysql, "localhost", "melchi", "griffin")))
// exiterr(1);
// if(mysql_select_db(&mysql, "melchi"))
// exiterr(1);
}
int main(void)
{
init_db();
mysql_connect(&mysql, "localhost", "melchi","griffin");
}
소스는 위와 같은 아주 간단한 거구요...
Makefile은
# --------------------- M a c r o s -------------------------------
CC = gcc
CXX = g++
CFLAGS = -O3 -g -pipe -fforce-mem -fforce-addr
INCLUDE1 = -I/usr/local/include/mysql
LIBS = -L/usr/local/lib/mysql/libmysqlclient.a -lm
OBJS = mysqldemo.o
# -------------------- R u l e s ---------------------------------
default: all
all: mysqldemo
clean :
/bin/rm *.o mysqlgui
mysqldemo: $(OBJS)
/.libs"
$(CXX) -o mysqldemo $(OBJS) $(LIBS)
%.o : %.cc
$(CXX) $(CFLAGS) $(INCLUDE1) -c $<
%.o : %.c
gcc $(CFLAGS) $(INCLUDE1) -c $<
위와 같습니다.
왜 그런거죠...
[root@grace smartwall]# gcc -L/usr/local/lib/mysql/libmysqlclient.a mysqldemo.c
/tmp/ccwnod9u.o: In function `main':
/tmp/ccwnod9u.o(.text+0x30): undefined reference to `mysql_connect'
collect2: ld returned 1 exit status
[root@grace smartwall]#
에러의 형태 입니다.