我正在处理一些包含两个头文件的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目录之外的文件?如果是这种情况,解决这个问题的最佳方法是什么?
答案 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
会做的伎俩