在/ opt in gcc命令中包含头文件

时间:2017-07-17 20:52:21

标签: c macos gcc

我正在处理一些包含两个头文件的c代码

#include <GL/glx.h>
#include <GL/gl.h>

在c文件中。我的理解是,这段代码的最后一次运行是在另一台计算机上。运行此操作会出现错误 “致命错误:'找不到GL / glx.h'文件” ,因为找不到这些相应的头文件。我正在使用OSX Mavericks,它预先安装了GL(其路径的基本目录位于/ opt中)。在我看来,http://commandlinefanatic.com/cgi-bin/showarticle.cgi?article=art026所有gcc命令都来自usr目录。我一直在尝试运行gcc命令

gcc -I/opt/X11/include/GL/glx.h -I/opt/X11/include/GL/gl.h spitmat8w_3.c -o hello

在我在这台机器上编译时包含这些文件。由于opt在/ usr目录之外,因此似乎不太可能。我是否认为gcc不会搜索/ usr目录之外的文件?如果是这种情况,解决这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

我认为/opt/X11/include/GL/glx.h是您的包含的实际位置。

-I不会这样做。它需要一个目录搜索路径,其中从(在其他目录搜索路径中)搜索所有包含

在您的情况#include <GL/glx.h>中,您需要提供目录名称以查找此相对包含文件路径,即/opt/X11/include

另一个文件位于同一目录中

gcc -I/opt/X11/include spitmat8w_3.c -o hello

会做的伎俩