【发布时间】:2015-09-17 10:08:12
【问题描述】:
我想测试与我的 MySQL 服务器的非常简单的 C API 连接。我在mac上使用它。所以这里是代码:
#include <stdio.h>
#include <mysql.h>
int main(void)
{
printf("MySQL client version: %s\n", mysql_get_client_info());
exit(0);
}
我用gcc编译
gcc -c `mysql_config --cflags` main.c
成功了。但是当我尝试运行它时
./main.o
错误是这样的
-bash: ./main.o: Permission denied
我可以匿名登录MySQL并运行select version():
shell>mysql
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.25 |
+-----------+
1 row in set (0.00 sec)
感谢 Sean,我的编译中有一个错误。应该是
gcc -o main `mysql_config --cflags` main.c `mysql_config --libs`
之后当我运行 ./main 我收到另一个错误:
dyld: Library not loaded: libmysqlclient.18.dylib
谢谢大家!
我已经通过将 libmysqlclient.dylib 的路径添加到 DYLD_LIBRARY_PATH 环境变量来解决这个问题。 这是某人可能需要的命令。
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib
【问题讨论】:
-
我确定
gcc、-c和.o文件有很多问题,但this might be of interest 或this (unfortunately closed)。