gpt4 book ai didi

c - 让 Gnu 科学图书馆在 Cygwin 中工作

转载 作者:太空宇宙 更新时间:2023-11-04 04:04:54 25 4
gpt4 key购买 nike

我正在使用 gsl 和 Cygwin,开始时我正在尝试编译一个非常简单的程序(稍后我将从 Fortran 程序中调用)。由于定位 gsl 文件的问题,我无法编译它。代码是:

#include <gsl/gsl_math.h>

void gslgateway_(double *x, double *res){
*res = gsl_atanh(*x);
}

当我尝试通过以下方式编译它时:

gcc -c gslgateway.c

我收到以下错误:

gslgateway.c:1:26: error: gsl/gsl_math.h: No such file or directory

如果我把第一行改成

#include <C:/cygwin/usr/include/gsl/gsl_math.h>

然后 gsl_math.h 找到了,但是一堆其他文件没有:

In file included from gslgateway.c:1:
C:/cygwin/usr/include/gsl/gsl_math.h:23:25: error: gsl/gsl_sys.h: No such file or directory
...

所以,问题似乎出在库文件的路径上。但是尽我所能,我似乎无法正确设置它。我按照 Using GSL with cygwin g++ 中的建议使用了 gsl-config它给了我

-L/usr/include

所以我尝试使用它作为选项进行编译,但我得到了相同的结果。我也试过将 LD_LIBRARY_PATH 设置为/usr/lib、/usr/include、C:/cygwin/usr/include 和其他几个组合,但没有任何效果。

我不知道现在还能尝试什么。谁能看到我错过了什么?

(其他信息:我安装了 gsl-devel。至少,我要求 Cygwin 安装程序安装它,我可以找到一个文件夹/usr/include/gsl,其中包含 gsl_math.h 以及许多其他文件。我不不知道我是否还需要在那里做其他事情。)

最佳答案

由于我的猜测似乎是正确的,所以我将其作为答案发布。

看起来您正在使用 MinGW 编译器。 MinGW 不是 Cygwin 的一部分,因此它不理解 Cygwin 风格的路径。这就是为什么您的编译器能够找到 C:/cygwin/usr/include/ 但找不到 /usr/include 的原因。

关于c - 让 Gnu 科学图书馆在 Cygwin 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7319544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com