mysql - C编译器找不到头文件

标签 mysql c path compiler-errors header-files

我正在尝试使用此命令行(在 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/

相关文章:

php - mySQL PDO 准备语句与非准备语句的不同结果

c - C 中 math.h 库中的 fmod 函数无法正常工作?

检查位是否改变

python - 如何解析python中的相对路径?

mysql - SQL JOIN 没有多余的信息

mysql - 带括号的 SQL 文本尝试运行函数

C - 与指针有关的语义

macos - .bash_profile 中 `$PATH` 导出的末尾或开头的 `PATH`(对于 Mac 上的 Git)

java - 为什么 Groovy 和 Java 返回一个点而不是文件名?

mysql - 处理用户角色的有效方法