我有一些#include
文件<mysql/mysql.h>
的C代码。我在Mac上运行,无法弄清楚如何安装mysql
(运行在SO上找到的解决方案后,mysql
目录甚至不存在于系统库中)。我能够从源代码下载MySQL,现在我在源代码的“include”目录中有一个mysql.h
文件。
但是,将此文件单独移动到系统库中显然不会使我的程序正常工作。我希望我需要编译库(我已经完成),并将二进制文件移动到某处,以便链接到我的程序。
根据@ RustyX的建议,我安装了Mac MySQL软件包。这会将mysql.h
的副本放入/usr/local/mysql-5.7.19-macos10.12-x86_64/include/
目录。但是:
1)我正在使用gcc
来编译.c文件。我不确定如何配置gcc
以包含相关目录。我试过了
-L(directory path)
- 安装的Mac MySQL软件包和我下载的MySQL源代码 - 但是我收到以下错误:
ld: library not found for -lmysqlclient
我会为mysqlclient
添加另一条路径吗?还是要安装另一个包?
2)即使我确实包含它,它仍然找不到文件,因为被叫文件名是<mysql/mysql.h>
,它找到的文件名是<include/mysql.h>
。由于该文件由其他人使用,因此将include
目录重命名为mysql
是最佳操作方法吗?或者更改.c文件中的路径,然后每次在提交之前将其更改回来?
答案 0 :(得分:0)
您是否尝试过这样的声明,
#include <mysql.h> //in your program
编译并运行
gcc -w -c -g -I/usr/include/mysql filename.c
gcc -o filename filename.o -L/usr/lib64/mysql -lmysqlclient
./filename (input params)