undefined reference to `mysql_init‘解决办法

使用宝塔安装的mysql数据库
找到头文件在/www/server/mysql/include 实现在/www/server/mysql/lib 在c文件里面包含#include"mysql.h"进行编译 编译通过
但是在运行的时候出现
在这里插入图片描述
解决办法:
输入mysql_config命令查看LIB依赖 --libs_r 后面便是需要添加的
在这里插入图片描述
编译
gcc mysqltest.c -o sqlserver -I /www/server/mysql/include -L /www/server/mysql/lib -lmysqlclient -lpthread -lz -lm -lrt -ldl
在这里插入图片描述
代码

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

MYSQL *conn_ptr;
unsigned int timeout = 7;	//超时时间7秒
int main()
{
	int ret = 0;
	conn_ptr = mysql_init(NULL);//初始化
	if(!conn_ptr)
	{
		printf("mysql_init failed!\n");
		return -1;
	}

	ret = mysql_options(conn_ptr,MYSQL_OPT_CONNECT_TIMEOUT,(const char*)&timeout);//设置超时选项
	if(ret)
	{
		printf("Options Set ERRO!\n");
	}
	conn_ptr = mysql_real_connect(conn_ptr,"localhost","root","aabbcc","testdb",0,NULL,0);//连接MySQL testdb数据库
	if(conn_ptr)
	{
		printf("Connection Succeed!\n");
		mysql_close(conn_ptr);
		printf("Connection closed!\n");
	}
	else	//错误处理
	{
		printf("Connection Failed!\n");
		if(mysql_errno(conn_ptr))
		{
			printf("Connect Erro:%d %s\n",mysql_errno(conn_ptr),mysql_error(conn_ptr));//返回错误代码、错误消息
		}
		return -2;
	}

	return 0;
}

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
undefined reference to shm_init'错误是由于编译器无法找到对应的库函数shm_init引起的。要解决这个问题,可以尝试以下几个步骤: 1. 确保你的代码中包含了正确的头文件,即包含shm_init函数的头文件。 2. 检查你的代码是否正确地链接了对应的库文件。你可以使用-l参数来链接库文件,比如-lpthread用于链接pthread库。在编译时,确保加上正确的链接参数。 3. 确保你的系统上已经安装了包含shm_init函数的库文件。如果没有安装,可以尝试安装相关的开发包。 总结起来,要解决undefined reference to shm_init'错误,你需要确认代码包含正确的头文件,正确地链接库文件,并确保相关的库文件已经安装在系统中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Linux C语言编译报错:undefined reference to `sem_init‘(编译时加 -lpthread)](https://blog.csdn.net/Dontla/article/details/126366430)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [linux下编译c代码时error:undefined reference to sem_init sem_wait 解决方法之一](https://blog.csdn.net/loosen17/article/details/50524743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪睡的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值