【问题标题】:make/cc not finding header file even though its directory is present in PATH variable即使它的目录存在于 PATH 变量中,make/cc 也找不到头文件
【发布时间】:2014-05-16 23:28:15
【问题描述】:

我正在尝试在我的 Mac 上运行 Allegro,但我一直在运行

main.cpp:1:10: 致命错误:'allegro5/allegro.h' 文件未找到

错误。

我已经成功安装了 allegro,我可以在 /usr/local/include/allegro5 中找到头文件。我为我的环境变量添加了一个路径,当我执行 echo $PATH 时,我可以看到 /usr/local/include。在我尝试运行的示例程序中,包含是这样的 -

#include <allegro5/allegro.h>

然后我跑——

make main

我可以看到我包含的头文件,为什么 mac 无法找到该路径中存在的文件?

【问题讨论】:

  • PATH 用于查找可执行文件,而不是包含文件。
  • 您可以查看C_INCLUDE_PATHCPLUS_INCLUDE_PATHINCLUDE_PATH(不确定它在寻找哪个)。正如@PaulR 提到的,PATH 是 shell 查找命令的位置,而不是编译器查找包含的位置。您还可以在命令行中添加 -I/usr/local/include 选项来解决它。
  • @PaulR 我不知道!谢谢。
  • @mbratch 我会尝试这些并更新你。感谢您的建议。
  • @mbratch 我尝试了您所说的一切,并且有效的是设置 CPLUS_INCLUDE_PATH=/usr/local/include 。所以非常感谢:)

标签: c++ macos path include makefile


【解决方案1】:

正如@PaulR 提到的,PATH 是 shell 查找命令的位置,而不是编译器查找包含的位置。您还可以在命令行中添加-I/usr/local/include 选项来解决它。

您可以查看C_INCLUDE_PATHCPLUS_INCLUDE_PATHINCLUDE_PATH(不确定它在寻找哪个)。

【讨论】:

    猜你喜欢
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 2018-02-08
    • 1970-01-01
    • 2016-02-09
    • 2011-11-20
    相关资源
    最近更新 更多