文件名为connect 代码如下
#include <stdlib.h>
#include <stdio.h>
#include <mysql/mysql.h>
int main()
{
MYSQL *pdata;
MYSQL_RES *result;
MYSQL_ROW row;
int i,j,k;
pdata = mysql_init((MYSQL*)0);
pdata = mydql_connect(pdata,"127.0.0.1","root","123456");
if (pdata)
{
cout << "OK,connected!" << endl;
}
}
编译时用如下指令
g++ -o connect.cpp -L/user/lib/mysql -libmysqlclient.so
可总是显示/usr/bin/ld: cannot find -libmysqlclient.so
collect2: ld returned 1 exit status错误  而且connect文件莫名其妙的呗删除了 请问是怎么回事 多谢了!

解决方案 »

  1.   

    lz 的编译命令有问题应该改成g++ -o connect connect.cpp -L/user/lib/mysql -lmysqlclient.so 代码有问题,改为#include <iostream>
    #include <mysql/mysql.h>using std::cout;
    using std::endl;int main()
    {
        MYSQL *pdata;
        MYSQL_RES *result;
        MYSQL_ROW row;
        int i,j,k;
        pdata = mysql_init((MYSQL*)0);
        pdata = mydql_connect(pdata,"127.0.0.1","root","123456");
        if (pdata)
        {
             cout << "OK,connected!" << endl;
        }    return 0;
    }
      

  2.   

    前面有点小错,改为g++ -o connect connect.cpp -L/user/lib/mysql -lmysqlclient 还有 lz 用的其实 C 语言的 mysql 连接方法mydql_connect 拼写错误mysql_connect 这个函数太老了,改用 mysql_real_connect 吧很多版本的 libmysqlclient.so 都没有这个函数
      

  3.   

    多谢楼上的 
    不过按照你说的改了一下  还是显示
    /usr/bin/ld: cannot find -lmysqlclient
    collect2: ld returned 1 exit status
    错误,请再帮忙看看好吗 多谢 下面是我修改过的代码
          1 #include <stdlib.h>
          2 #include <stdio.h>
          3 #include <iostream>
          4 #include <mysql/mysql.h>
          5
          6 using std::cout;
          7 using std::endl;
          8
          9 int main()
         10 {
         11     char *user = "root", *pwd = "c303insun", *dbname = "blog";
         12     MYSQL mysql;
         13     MYSQL_RES *mysql_ret;
         14     MYSQL_ROW mysql_row;
         15     unsigned long num_rows;
         16     int ret;
         17     mysql_init(&mysql);
         18     if (mysql_real_connect(&mysql,NULL,user,pwd,dbname,0,NULL,0))
         19         cout << "OK,connected!" << endl;
         20     else
         21         cout << "ERROR!" << endl;
         22     return 0;
         23 }
      

  4.   

    确认一下/user/lib/mysql目录下边有libmysqlclient.so吗?