gpt4 book ai didi

mysql - 为什么我在 MAC OSX 上编译一个简单的 mysql c 应用程序时总是得到 undefined symbol ?

转载 作者:行者123 更新时间:2023-11-29 01:33:27 25 4
gpt4 key购买 nike

我正在使用 MAC OSX 并尝试编写一个“测试”msyql 应用程序来测试与本地数据库的连接:

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


int main(void)
{
MYSQL mysql;

mysql_init(&mysql);
mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, "examplemysql");
if(!mysql_real_connect(&mysql, "localhost", "someuser", "somepassword", "sampledb", 0, NULL, 0))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&mysql));
}

}

我使用命令编译:gcc -I/usr/local/mysql/include -L/usr/local/mysql/lib mysql.c

我得到以下错误

Undefined symbols
"_mysql_options", referenced from:
_main in cceohP7E.o
"_mysql_real_connect", referenced from:
_main in cceohP7E.o
"_mysql_init", referenced from:
_main in cceohP7E.o
"_mysql_error", referenced from:
_main in cceohP7E.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

我不是 C/Unix 专家,但我想学习。我知道我这里运行的是 64 位架构。这会成为问题吗?让我知道我做错了什么。

谢谢。

最佳答案

正如其他人所提到的,您错过了图书馆。幸运的是,MySQL 通过命令行的 mysql_config 使这很容易:

gcc `mysql_config --include` mysql.c `mysql_config --libs`

关于mysql - 为什么我在 MAC OSX 上编译一个简单的 mysql c 应用程序时总是得到 undefined symbol ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4379775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com