gpt4 book ai didi

c - 从 max 终端编译 c gsl 库时出现问题

转载 作者:行者123 更新时间:2023-11-30 19:33:49 24 4
gpt4 key购买 nike

我有一个c脚本

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <gsl/gsl_rng.h>
#include <gsl/gsl_randist.h>

int main(void)
{
const gsl_rng_type * T;
gsl_rng * r;
int i;
double a,b;
double num;
a=10;
b=7.2;

gsl_rng_env_setup();

T=gsl_rng_default;
r=gsl_rng_alloc (T);
for(i=0; i<10; i++)
{
num = gsl_ran_gamma(r,a,b);
printf("%.8f \n",num);
}


gsl_rng_free(r);
return 0;
}

我已经在linux机器上成功编译了。我想将 gsl 库用于我的 Mac 上的其他应用程序。所以我首先使用 homebrew 安装了 gsl,这似乎很成功。为了确保一切正常,我尝试编译并运行此脚本,如下所示

[ACC-259-imac:GDSC Gene Expression Modeling jmannhei$ gcc -Wall gamma.c -o gamma.out -lm -lgsl -lgslcblas

产生以下输出

gamma.c:5:10: fatal error: 'gsl/gsl_rng.h' file not found
#include <gsl/gsl_rng.h>
^
1 error generated.

这正是我在 Linux 上编译它的方式,所以我不确定有什么问题,因为我过去曾在 Mac 上的终端上使用这种格式编译过 c 脚本。我的猜测是它没有正确链接,但我不确定需要做什么来修复它。谢谢

最佳答案

使用 brew list gsl 查找头文件目录或locate gsl/gsl_rng.h,然后告诉编译器头文件的位置。例如,我需要以下内容

gcc -Wall -I/usr/local/Cellar/gsl/1.16/include/ gamma.c -o gamma.out -lm -lgsl -lgslcblas

关于c - 从 max 终端编译 c gsl 库时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44828809/

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