Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;gsl/gsl rng.h';“未找到文件”;OSX El Capitan升级后_C_Macos_Header Files_Osx Elcapitan_Gsl - Fatal编程技术网

&引用;gsl/gsl rng.h';“未找到文件”;OSX El Capitan升级后

&引用;gsl/gsl rng.h';“未找到文件”;OSX El Capitan升级后,c,macos,header-files,osx-elcapitan,gsl,C,Macos,Header Files,Osx Elcapitan,Gsl,我刚刚更新到最新的OSX,El Capitan,我在编译C程序时遇到了问题。它在操作系统升级之前编译得很好。在这之后,我已经收到了一条关于我的LaTeX文本编辑器Latexian的警告消息: 但由于我没有在程序内部使用预览或编译,而是在终端中使用“latex file.tex”进行编译,所以效果很好 现在我的问题是my.c程序,它包括一个GSL库,下面是我的标题: #include <math.h> #include <stdio.h> #include <std

我刚刚更新到最新的OSX,El Capitan,我在编译C程序时遇到了问题。它在操作系统升级之前编译得很好。在这之后,我已经收到了一条关于我的LaTeX文本编辑器Latexian的警告消息:

但由于我没有在程序内部使用预览或编译,而是在终端中使用“latex file.tex”进行编译,所以效果很好

现在我的问题是my.c程序,它包括一个GSL库,下面是我的标题:

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <gsl/gsl_rng.h>
#include <gsl/gsl_randist.h>
#包括
#包括
#包括
#包括
#包括
编译时,我得到以下信息:

performance.c:4:10: fatal error: 'gsl/gsl_rng.h' file not found
#include <gsl/gsl_rng.h>
          ^
1 error generated.
performance.c:4:10:致命错误:“未找到gsl/gsl_rng.h”文件
#包括
^
生成1个错误。
我猜OSX会因为这两种情况而有所改变,但后一种情况对我来说是一个巨大的问题,因为我正在完成我的论文!希望我的问题清楚,这是我的第一个问题

编辑:

我猜这就是问题所在

使用GCC编译时,您可能必须手动指定包含
gsl
子文件夹的父目录。同样,您还必须指定目录才能在中查找库。可以使用
-I
选项将include目录添加为gcc的搜索路径,使用
-L
将库搜索路径添加为gcc。在您的情况下,可以通过将以下内容添加到GCC编译中来完成:

-I/usr/local/include -L/usr/local/lib

在我的例子中,这一行解决了这个链接错误

gcc $(gsl-config --cflags) name_of_file.c $(gsl-config --libs) -o name_of_file

请参见

在我的案例中,我只需要安装/更新gsl

brew install gsl

您是如何安装gsl的?编译时,您可能必须使用
-I
选项,并指定
gsl/gsl_rng.h
的父目录。您好,Michael,谢谢您的回答。我刚刚添加了一个可以描述问题的编辑。我根本不懂编程,我只懂基础知识。我将文件从gsl站点下载到我的“Downloads”文件夹中,然后按照指示,在终端中我编写了“/configure”和“make”以及他们指示的其他命令!如何使用此-I选项?完成后您是否进行了
sudo make安装
。@MichaelPetch否,我没有。路径与往常一样,
/usr/local/include/gsl
我甚至不需要再次安装它。不知怎的,我只需要把它移到别的地方,因为苹果搞砸了(编辑后的链接中显示)