我正在尝试使用此命令行(在 OSX 中)进行编译:
gcc -Wall upload-comments.c -l -o upload-comments -I/usr/local/mysql/include/-L/usr/local/mysql/lib/-lmysqlclient
它返回错误:
upload-comments.c:14:20: 错误:mysql.h: 没有那个文件或目录
mysql.h
明明在/usr/local/mysql/include/
为什么找不到头文件?
谢谢。
最佳答案
您需要将 -I...
位放在需要它的源文件之前。
gcc -Wall
-I/usr/local/mysql/include/
upload-comments.c
-l
-o upload-comments
-L/usr/local/mysql/lib/
-lmysqlclient
gcc
命令是位置敏感的,对于那个 和 库(您应该在需要它们的文件之后 列出库,例如)。
我也不确定为什么你有一个裸库名称说明符(-l
没有实际的库名称)。这似乎可能给我带来问题,但与提出的具体问题无关。
如果根据此答案修复命令后仍然有问题,您可能想删除它。
关于mysql - C编译器找不到头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10511634/