Мне нужно написать некоторый код С с помощью GSL (GNU Scientific Library) и никогда раньше не использовала библиотеки.
Я физик, а не компьютерный ученый, и сражаюсь с большим количеством жаргона в документации GNU.
В течение последних нескольких часов я был полностью смущен тем, как использовать GSL на машине Windows 7. Я пробовал читать множество вопросов на этом сайте, а также другие, но на моем голосе много жаргона.
Обычно, когда я пишу программу, я делаю следующие шаги:
1) Откройте блокнот ++, включите любой из моих собственных файлов заголовков и напишите мой код.
2) Скомпилируйте мою программу, открыв приглашение командной строки Windows и набрав:
gcc -Wall -std=c99 -o myfile myfile.c
Я сделал gcc переменную среды и установил gcc, установив CodeBlocks для Windows (однако я не использую кодовые блоки).
Из исследования в Интернете это то, что мне удалось сделать, чтобы использовать GSL:
1) Скачан GSL для Windows: http://gnuwin32.sourceforge.net/packages/gsl.htm
2) Установил его на рабочем столе, так что мой Путь не будет содержать пробелов (я прочитал пробелы в Пути, может быть проблемой).
3) Задайте переменную окружения Path для местоположения .dll: C:\Users\Rohan\Desktop\GnuWin32\bin;
4) Попытка скомпилировать примерную программу GSL:
#include <stdio.h>
#include <gsl/gsl_sf_bessel.h>
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
Большая часть этого была выполнена с небольшим пониманием из-за отсутствия фона в CS.
Я даже на правильном пути? Есть ли легкое пошаговое руководство, на нетехническом языке, за которым я могу следить, чтобы это работало?
Любая помощь будет принята с благодарностью, Спасибо!