Пример кода, приведенного для подгонки кривой в научной библиотеке Gnu, не будет выполняться - PullRequest
3 голосов
/ 22 мая 2011

Я пытаюсь использовать GSL для подгонки по методу наименьших квадратов, но даже не могу заставить пример работать правильно.Компилируется, но при запуске программы выдает ошибку

dyld: lazy symbol binding failed: Symbol not found: _cblas_dnrm2

Referenced from: /usr/local/lib/libgsl.0.dylib

Expected in: dynamic lookup

Я полагаю, что сузил проблему до линии

gsl_multifit_fdfsolver_set (s, &f, &x.vector);

, но я не имею ни малейшего понятия, почему.

Я запускаю его на OSX с GSL 1.15 (хотя я изначально установил не ту версию, 1.9).Я компилирую его в терминале, используя: gcc unchanged_example.c -o examplefitter -lgsl -lm

РЕДАКТИРОВАТЬ: решение было найдено здесь .добавив '-lgslcblas' при компиляции разобрался

Ответы [ 2 ]

2 голосов
/ 23 апреля 2016

Для тех, кто сталкивается с этим, вам нужно связать две библиотеки ...

gcc -Wall -O3 -g -lgslcblas -lgsl -std=c11 -pedantic-errors
1 голос
/ 22 мая 2011

Вам нужно найти общую библиотеку, которая содержит _cblas_dnrm2 и связать ее с вашим приложением.

...