提示mysql_init()没定义

#include<iostream>
#include "/usr/include/mysql/mysql.h"
using namespace std;

int database_con(char *name, char *passwd);
void database_close();

MYSQL *my_connection;
int connected = 0;

int main()
{

}

int database_con(char *name, char *passwd)
{
  if (1 == connected)
  return 1;
  mysql_init(my_connection);
  if (NULL == mysql_real_connect(my_connection, "localhost", name, passwd, "student", 0, NULL, 0))
  {
  cout << "Database connection failure!" << endl;
  return 0;
  }
  connected = 1;
  cout << "Database connection success!" << endl;
  return 1;
}

void database_close()
{
  if (1 == connected)
  mysql_close(my_connection);
  connected =0;
}

/tmp/ccGGiDhB.o: In function `database_con(char*, char*)':
test_con_mysql.cpp:(.text+0x2d): undefined reference to `mysql_init'
test_con_mysql.cpp:(.text+0x70): undefined reference to `mysql_real_connect'
/tmp/ccGGiDhB.o: In function `database_close()':
test_con_mysql.cpp:(.text+0xf6): undefined reference to `mysql_close'
collect2: ld returned 1 exit status

初学mysql,请多指教!

作者: xpnlxy   发布时间: 2011-05-07

没有-lmysqlclient吧, 当然,还得指定-L它的路径。

先了解一下linux下gcc编译链接一个动态库如何做。。。。

作者: iihero   发布时间: 2011-05-10