繁体   English   中英

如何手动将.h文件导入系统库?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM