C++在Ubuntu上编译mysql问题

所有mysql_xxx 函数都显示为,如:

undefined reference to `mysql_init`

undefined reference to `mysql_close`

...

解决步骤:

1.是否有包含头文件mysql.h

如 -I /usr/include/mysql

2.是否有添加mysql对应的链接库目录

如 -L /usr/lib/mysql -l mysqlclient -lz -lm

如果还是不行,则在编译程序末尾加上 `mysql_config --cflags --libs`;

系统会自动查找mysql所依赖的内容。

如:

  g++ main.cpp logger.cpp -o test `mysql_config --cflags --libs`

在系统下查询 mysql_config 配置内容:

root@localhost:~#mysql_config --cflags --libs

-I /usr/include/mysql -DBIG_JSONS=1 -fno-strict-aliasing -g

-L /usr/lib -lmysqlclient -lpthread -lz -lm -lrt -ldl

原文地址:https://www.cnblogs.com/sylar-liang/p/4561516.html