我需要使用GSL(GNU科学库)编写一些C代码,之前从未使用过库。

我是物理学家,不是计算机科学家,在GNU文档中遇到了很多术语的困扰。

在过去的几个小时里,我一直对如何在Windows 7机器上使用GSL感到非常困惑。我尝试阅读了很多关于此类问题的网站,但其中许多术语都超出了我的理解范围。

通常,当我编写程序时,我会执行以下步骤:

打开notepad ++,包含任何自己的头文件并编写代码。

通过打开Windows命令提示符并键入以下内容来编译我的程序:

gcc -Wall -std=c99 -o myfile myfile.c

我将gcc设置为环境变量,并通过安装CodeBlocks for Windows来安装gcc(但我不使用codeblocks)。

如何安装GSL:

从以下网址下载Windows版的GSL:http://gnuwin32.sourceforge.net/packages/gsl.htm

将其安装在桌面上,这样我的路径中就不会有空格字符(我已经读过,路径中的空格可能会有问题)。

将我的Path环境变量设置为.dll文件的位置:C:\Users\Rohan\Desktop\GnuWin32\bin;

尝试编译GSL示例程序:

#include

#include

int main (void)

{

double x = 5.0;

double y = gsl_sf_bessel_J0 (x);

printf ("J0(%g) = %.18e\n", x, y);

return 0;

}

5.我按照以下方式调用了编译器:

C:\Users\Rohan\Desktop>gcc -Wall -I"C:\Users\Rohan\Desktop\GnuWin32\include" -L"C:\Users\Rohan\Desktop\GnuWin32\lib" -lgslcblas -lgsl -lm -o test test.c

这导致了以下错误信息:

C:\Users\Rohan\AppData\Local\Temp\ccW8cO7I.o:test.c:(.text+0x30): undefined reference to `gsl_sf_bessel_J0'

collect2: ld returned 1 exit status

大部分都是在没有计算机科学背景的情况下完成的,对此并不理解。

我是否走在正确的轨道上?有没有一个易于理解的、逐步指导的非技术性语言指南可以让我跟着做这个项目?

非常感谢任何帮助,谢谢!


2024年免费的一键Ghost软件推荐名单
更换主板以后电脑慢,卡,噪音大是怎么回事