[英]How do I manually import .h files into the system library?
我有一些#include
s文件<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文件中的路径,然后在提交之前每次都将其更改回?
您是否尝试过这样的声明,
#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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.