Я пытаюсь проверить установку gsl
в моем Macbook.Я следовал инструкциям этого (1) и этого (2) веб-сайта для установки gsl
.
Когда я пытаюсь установить gsl
с помощью brew install gsl
, я получаю сообщение:
Warning: gsl 2.5 is already installed and up-to-date
Но приведенное выше сообщение не является большой причиной для беспокойства.Чтобы проверить, правильно ли установлена gsl
, я пытаюсь скомпилировать тестовый код, который приведен ниже (main.c
).У меня возникают проблемы, когда я пытаюсь скомпилировать этот код.
#include <stdio.h>
#include <gsl/gsl_sf_bessel.h>
int main( int argc, const char *argv[] ) {
double x = 5.0 ;
double y = gsl_sf_bessel_J0( x ) ;
printf("J0(%g) = % .18e\n", x, y ) ;
return 0 ;
}
Я пытаюсь скомпилировать приведенный выше код, используя gcc -Wall -I/usr/local/inlcude main.c
.Ниже приводится сообщение об ошибке, которое я получаю.
Undefined symbols for architecture x86_64:
"_gsl_sf_bessel_J0", referenced from:
_main in ccHCdcTr.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
Я прочитал ответы, приведенные в этом сообщении stackoverflow (поскольку оно также относится к вышеупомянутой ошибке ld: symbol(s) not found for architecture x86_64
).И я попытался скомпилировать код, используя gcc -m32 -Wall -I/usr/local/inlcude main.c
.Но теперь я получаю больше ошибок:
/var/folders/mp/z7xpkw3538z71904cdqhztv00000gn/T//ccrjsmhl.s:
46:11: warning: section "__textcoal_nt" is deprecated
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
/var/folders/mp/z7xpkw3538z71904cdqhztv00000gn/T//ccrjsmhl.s:46:11: note: change section name to "__text"
.section
__TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
Undefined symbols for architecture i386:
"_gsl_sf_bessel_J0", referenced from:
_main in ccAmYmtF.o
ld: symbol(s) not found for architecture i386
collect2: error: ld returned 1 exit status
В обоих случаях я не вижу ни одного объектного файла (*.o
) в моем рабочем каталоге после компиляции.Как я могу заставить вышеупомянутый код работать должным образом?Как я могу проверить, правильно ли установлен мой gsl
?Я работаю с MacOS Mojave версии 10.14.3.