2013-12-16 2 views
0

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

Если я пытаюсь запустить пример с г ++ 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'in config.hpp, я могу запустить пример 1, но не пример 2, поскольку для этого требуется лак.

Можете ли вы мне помочь в решении проблемы. Спасибо. Salil

+1

Перед отправкой вопроса вам необходимо очистить форматирование. Просмотрите: http://stackoverflow.com/editing-help –

ответ

0

Увидев ваш вопрос, Я думаю, вам следует набрать -llpack вместо -llpack.
Без -lgfortan он может работать, поэтому попробуйте это тоже.

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