/*****************
connect.cpp
g++ connect.cpp -o connect -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient
****************/ #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"mysql.h" class CMysqlInterface
{
public:
CMysqlInterface();
~CMysqlInterface(); void mysqlLibInit();
void mysqlLibDestroy();
int Connect();
int Close(); private:
MYSQL *m_mysqlPtr;
}; int main()
{
printf("version 1.1\n");
int iRet = -;
CMysqlInterface MysqlObj; iRet = MysqlObj.Connect();
if( == iRet)
{
printf("mysql_real_connect success\n");
}
else
{
printf("mysql_real_connect failed\n");
}
return ;
} CMysqlInterface::CMysqlInterface()
{
printf("CMysqlInterface\n");
m_mysqlPtr = NULL;
m_mysqlPtr = mysql_init(NULL);
} CMysqlInterface::~CMysqlInterface()
{
Close(); } int CMysqlInterface::Close()
{
int iRet = ; if(NULL != m_mysqlPtr)
{
mysql_close(m_mysqlPtr);
m_mysqlPtr = NULL;
}
return iRet;
} void CMysqlInterface::mysqlLibDestroy()
{
mysql_library_end();
} int CMysqlInterface::Connect()
{
printf("Connect\n");
int iRet = -;
m_mysqlPtr = mysql_real_connect(m_mysqlPtr,"localhost","root","csql","child",,NULL,);
if(m_mysqlPtr)
{
iRet = ;
}
return iRet;
}

exbot@ubuntu:~/wangqinghe/MySql/20190621/01$ g++ connect.cpp -o connect -I /usr/include/mysql/ -L /usr/lib/mysql/ -Imysqlclient

/tmp/cceJyiND.o:在函数‘CMysqlInterface::CMysqlInterface()’中:

connect.cpp:(.text+0xaf):对‘mysql_init’未定义的引用

/tmp/cceJyiND.o:在函数‘CMysqlInterface::Close()’中:

connect.cpp:(.text+0x100):对‘mysql_close’未定义的引用

/tmp/cceJyiND.o:在函数‘CMysqlInterface::mysqlLibDestroy()’中:

connect.cpp:(.text+0x121):对‘mysql_server_end’未定义的引用

/tmp/cceJyiND.o:在函数‘CMysqlInterface::Connect()’中:

connect.cpp:(.text+0x17c):对‘mysql_real_connect’未定义的引用

collect2: error: ld returned 1 exit status

这个问题是因为连接命令出了错误 后面跟的应该是 -l 而不是-L

输出结果:

exbot@ubuntu:~/wangqinghe/MySql/20190621/02$ g++ connect.cpp -o connect -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient

exbot@ubuntu:~/wangqinghe/MySql/20190621/02$ ./connect

version 1.1

CMysqlInterface

Connect

mysql_real_connect success

linux环境下写C++操作mysql(一)的更多相关文章

  1. linux环境下写C++操作mysql(二)

    main.cpp #include<stdio.h> #include<stdlib.h> #include"mysqlInterface.h" int m ...

  2. DBA 应该要注意Linux 环境下的一些操作

    DBA 对OS的依赖.一丁点儿也不亚于DB.对于Oracle DBA.尤为突出     DB和OS的感情也与日俱增.耦合度高的让人一度以为这两要劳燕双飞了 例如.Oracle里面. 而且.故障诊断以及 ...

  3. Linux 环境下安装 Nginx+php+mysql 开发环境

    一直以来都没有养成记录学习的好习惯,我想从这么一天开始,把自己学习和工作中的经验和坑都记录下来.等到以后老的时候还有可以回忆的地方. 最近在学习linux,虽然已经玩linux很久了,但是没有怎么用心 ...

  4. oracle11G在linux环境下的卸载操作

    1.使用SQL*PLUS停止数据库[oracle@OracleTest oracle]$ sqlplus logSQL> connect / as sysdbaSQL> shutdown ...

  5. 阿里云服务器 :Linux环境下搭建Apache+php+mysql

    以前我用的是Windows2012 的服务器,那时候只是抱着玩一玩的心态,所有用的是Windows,但是后来被导师给DISS了,于是决定改服务器的操作系统: (一)下载安装php+mysql+apac ...

  6. 在linux环境下搭建JDK+JAVA+Mysql,并完成jforum的安装

    参考链接: YUM安装MySQL和JDK和Tomcat:http://cmdschool.blog.51cto.com/2420395/1696206/ http://www.cnblogs.com/ ...

  7. Linux环境下没有权限操作文件或目录

    linux下有超级用户(root)和普通用户,普通用户不能直接操作没有权限的目录,如果出现了没有权限的提示,可以尝试用su命令解决. 比如: #mkdir aaa 我要创建一个aaa的文件夹,没有操作 ...

  8. eclipse环境下,java操作MySQL的简单演示

    首先先通过power shell 进入MySQL 查看现在数据库的状态(博主是win10系统) 右键开始,选择Windows powershell ,输入MySQL -u用户名 -p密码 选择数据库( ...

  9. linux环境下mongodb启动操作

    pkill mongod 进入mongo shell :运行 db.shutdownServer() 1.进入mongo的shell  : mongo --port 1008 2.进入bin目录下 m ...

随机推荐

  1. Mysql优化深度解析

    说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原 ...

  2. Linux shellcode sample

    Linux shellcode sample HelloWorld.nasm ;HelloWorld.asm ;Author: Kul Subedi global _start section .te ...

  3. wpf GridSplitter左右托不了或者拖拽异常

    对于水平分割线,需要将verticalAlignment属性设置为Center 对于垂直分割线,需要将horizontalAlignment属性设置为center 切记切记,不然很苦逼....

  4. selenium 模拟登陆豆瓣,爬取武林外传的短评

    selenium 模拟登陆豆瓣,爬去武林外传的短评: 在最开始写爬虫的时候,抓取豆瓣评论,我们从F12里面是可以直接发现接口的,但是最近豆瓣更新,数据是JS异步加载的,所以没有找到合适的方法爬去,于是 ...

  5. 第十篇.4、python并发编程之多线程

    一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 官网链接:https://docs.python ...

  6. deep_learning_Function_tf.train.ExponentialMovingAverage()滑动平均

    近来看batch normalization的代码时,遇到tf.train.ExponentialMovingAverage()函数,特此记录. tf.train.ExponentialMovingA ...

  7. Dubbo 02 微信开发

    Dubbo 02 微信开发 Dubbo Admin https://github.com/apache/dubbo-admin 原系统微服务改造 mvc层排除数据源检查 Application 入口程 ...

  8. Hbase性能优化

    HBase性能优化方法总结 1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户 ...

  9. Java事务(转载)

    Java事务的类型有三种:JDBC事务.JTA(Java Transaction API)事务.容器事务. 1.JDBC事务 JDBC 事务是用 Connection 对象控制的.JDBC Conne ...

  10. py实现ftp

    https://www.cnblogs.com/wangziyi0513/p/11077323.html 参考原始代码: 修改了一下: 许多网友问中文路径乱码怎么办,我觉得应该讲中文路径转码后再发送. ...