C 语言连接 MySQL,使用 gcc 编译时出现链接错误:Undefined symbols for architecture x86_64-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

C 语言连接 MySQL,使用 gcc 编译时出现链接错误:Undefined symbols for architecture x86_64

2016-06-06 19:39:25 3816 1

操作系统是 OS X 10.9.3 ,安装了 mysql-5.6.20-osx10.8-x86_64.dmg ,默认安装在了 mysql-5.6.20-osx10.8-x86_64 ,并且自动做了软连接: /usr/local/mysql -> mysql-5.6.20-osx10.8-x86_64 ,然后我手动做了软链接: /usr/include/mysql -> /usr/local/mysql/include/ 。

gcc 版本:

$ gcc -v

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.2.0
Thread model: posix
version.c 代码:

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

int main(int argc, char * argv[])
{
    printf("Mysql client version:%s\n", mysql_get_client_info());
    return 0;
}
编译时出现如下提示:

$ gcc version.c 

Undefined symbols for architecture x86_64:
  "_mysql_get_client_info", referenced from:
      _main in version-923a36.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

首先请大家原谅我比较笨…… 我从网络上搜索之后,发现这种情况出现的原因很多,有程序内代码拼写错误的,也有 Xcode 添加什么文件的,但是我仅仅是使用 vi 编辑的文件,直接使用 gcc 进行编译,现在还是搞不清楚我这种问题是怎么回事。请大神帮忙解答,感激不尽。

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:29:19

    此错误是编译的时候没有找到相应的mysql库,你可以用以下方法解决。

    终端输入:
    gcc version.c -o version $(mysql_config --libs)

    说明:
    -o version version为output文件.

    mysql_config --libs为安装的mysql库位置和库名字。

    然后运行./version 即可。

    0 0
相关问答

4

回答

使用云服务器和关系数据库RDS,要安装mysql吗?

2012-09-16 17:18:16 11344浏览量 回答数 4

3

回答

阿里RDS支持MySQL参数自己配置不?

2012-12-28 13:34:34 9299浏览量 回答数 3

5

回答

使用了官方的一键安装包,如果买了RDS不需要MYSQL,怎么办?

2013-04-14 23:13:16 10117浏览量 回答数 5

3

回答

ECS如何连接RDS(MySQL),怎么都连接不上呀

2014-11-12 23:01:34 9492浏览量 回答数 3

16

回答

RDS比本机MySQL慢5倍

2014-11-13 10:21:45 17675浏览量 回答数 16

5

回答

RDS比本机MySQL慢5倍

2014-11-13 11:04:07 9507浏览量 回答数 5

4

回答

用了RDS的mysql,还能用canal之类的读binlog来做一些数据同步的事吗?

2015-04-09 16:24:37 9373浏览量 回答数 4

1

回答

北京RDS什么时候支持mysql?

2015-04-14 11:36:54 5519浏览量 回答数 1

2

回答

rds中的mysql将utf8改为utf8mb4,怎么改?(已解决)

2015-04-14 13:45:55 6565浏览量 回答数 2

1

回答

RDS MySQL产品优势是什么?

2021-12-12 13:28:20 177浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
好的 MySQL 兼容可以做到什么程度
立即下载
MySQL 5.7优化不求人
立即下载
MySQL 5.7让优化更轻松
立即下载