2016-01-26 3 views
2

Я установил библиотеку обучения акустической машины на Ubuntu и связал ее с libshark_debug.so и liblapack_atlas.so. liblapack_atlas.so был в libatlas-base-dev упаковка. Теперь я хочу сделать то же самое на Mac OS X, но я не могу найти liblapack_atlas.so. Linker останавливается с этой ошибкой:undefined reference _cblas_dgemm в Mac OS X

undefined symbols for architecture x86_64: 
"_cblas_dgemm", reference from: 
shark::blas::binding::gemm() 

Какой пакет я должен установить (с помощью настояться, например), чтобы быть в состоянии связать свою программу на C++ с liblapack_atlas.so.

ответ

3

OS X уже предоставляет .dylib для BLAS, в моей системе он находится по адресу /usr/lib/libblas.dylib, но YMMV для местоположения. Быстрая проверка это экспортироваться символов дает мне это:

nm -gU /usr/lib/libblas.dylib | grep dgemm 
... 
000000000016e454 T _cblas_dgemm 

предоставляет также liblapack библиотеку, а также, который находится на: /usr/lib/liblapack.dylib.

+0

Как использовать? g ++ myprogram.cpp все еще дает ошибку –

+0

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