Ошибка при использовании броненосца

Я загрузил последний пакет Armadillo (3.920) и пытаюсь использовать его на своем компьютере (Ubuntu 12.04). Я следую инструкциям, указанным в файле readme.txt для установки (cmake., Make, sudo make install). В моей системе есть lapack and blas. Когда я пытаюсь запустить пример, представленный в каталоге примеров, используя:
g ++ example1.cpp -O2 -larmadillo
Я получаю ошибку:
/usr/lib/liblapack.so.3gf: неопределенная ссылка на ATL_zptgemm'
/usr/lib/liblapack.so.3gf: undefined reference to
ATL_scopy»
так далее

Если я попытаюсь запустить пример с
g ++ example1.cpp -O2 -llpack -lblas -lgfortran
Я получаю ошибку:
/tmp/ccOsKhfg.o: в функции double arma::blas::dot<double>(unsigned int, double const*, double const*)':
example1.cpp:(.text._ZN4arma4blas3dotIdEET_jPKS2_S4_[double arma::blas::dot<double>(unsigned int, double const*, double const*)]+0x36): undefined reference to
wrapper_ddot_»
/tmp/ccOsKhfg.o: в функции void arma::blas::gemv<double>(char const*, int const*, int const*, double const*, double const*, int const*, double const*, int const*, double const*, double*, int const*)':
example1.cpp:(.text._ZN4arma4blas4gemvIdEEvPKcPKiS5_PKT_S8_S5_S8_S5_S8_PS6_S5_[void arma::blas::gemv<double>(char const*, int const*, int const*, double const*, double const*, int const*, double const*, int const*, double const*, double*, int const*)]+0x53): undefined reference to
wrapper_dgemv_»
/tmp/ccOsKhfg.o: в функции void arma::blas::gemm<double>(char const*, char const*, int const*, int const*, int const*, double const*, double const*, int const*, double const*, int const*, double const*, double*, int const*)':
example1.cpp:(.text._ZN4arma4blas4gemmIdEEvPKcS3_PKiS5_S5_PKT_S8_S5_S8_S5_S8_PS6_S5_[void arma::blas::gemm<double>(char const*, char const*, int const*, int const*, int const*, double const*, double const*, int const*, double const*, int const*, double const*, double*, int const*)]+0x61): undefined reference to
wrapper_dgemm_»

Обратите внимание, что если я прокомментирую строки ‘#define ARMA_USE_LAPACK’, ‘# define ARMA_USE_BLAS’ в config.hpp, я смогу запустить пример 1, но не пример 2, так как для этого требуется lapack.

Можете ли вы помочь мне в решении проблемы.
Благодарю.
Salil

1

Решение

Видя твой вопрос,
я думаю, что вы должны напечатать -llapack вместо -llpack.
Без -lgfortan это может сработать, так что попробуйте тоже.

g ++ main.cpp -o main -o1 -larmadillo -llapack -lblas

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector