1

我正在尝试使用此命令行进行编译(在 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: error: mysql.h: No such file or directory

mysql.h显然在/usr/local/mysql/include/

为什么找不到头文件?

谢谢。

4

1 回答 1

1

您需要将该-I...位放在需要它的源文件之前。

gcc -Wall
    -I/usr/local/mysql/include/
    upload-comments.c
    -l
    -o upload-comments
    -L/usr/local/mysql/lib/
    -lmysqlclient

gcc命令对位置敏感,对于库库(例如,您应该在需要它们的文件之后列出库)。

我也不确定为什么你有一个裸库名称说明符(-l没有实际的库名称)。这似乎可能会给我带来问题,但这与提出的具体问题无关。

如果在根据此答案修复命令后仍有问题,则可能需要将其删除。

于 2012-05-09T07:34:49.673 回答