gcc不会编译和运行MySQL C库

JB8*_*B87 7 c mysql gcc undefined-reference

#include <my_global.h>
#include <mysql.h>

int main(int argc, char **argv)
{
  printf("MySQL client version: %s\n", mysql_get_client_info());
}
Run Code Online (Sandbox Code Playgroud)

〜$ gcc -o mysql-test MySQL-Test.c

我试图从终端执行此测试程序,但得到以下错误消息:

/tmp/cceEmI0I.o:在函数main': MySQL-Test.c:(.text+0xa): undefined reference tomysql_get_client_info'中

怎么了?我的系统是ubuntu

cod*_*ict 14

MySQL附带一个名为的特殊脚本mysql_config.它为您编译MySQL客户端并将其连接到MySQL数据库服务器提供了有用的信息.

通过--libs选项 - 链接MySQL客户端库所需的库和选项.

$ mysql_config --libs
Run Code Online (Sandbox Code Playgroud)

典型输出:

-L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto
Run Code Online (Sandbox Code Playgroud)

现在您可以将它添加到您的编译/链接行:

gcc -o mysql-test MySQL-Test.c $(mysql_config --libs)
Run Code Online (Sandbox Code Playgroud)