在 Mac Mavericks 上使用 Homebrew 安装犰狳
Posted
技术标签:
【中文标题】在 Mac Mavericks 上使用 Homebrew 安装犰狳【英文标题】:Installing Armadillo with Homebrew on Mac Mavericks 【发布时间】:2014-05-07 20:29:19 【问题描述】:我已经用 Homebrew 安装了犰狳
brew install homebrew/science/armadillo
我尝试用
编译一些代码g++-4.7 -I/usr/local/include file1.cpp -O2 -llapack -lblas
但我得到的只是
Undefined symbols for architecture x86_64: "_wrapper_ddot_", referenced from:
void arma::syrk<false, false, false>::apply_blas_type<double, arma::Mat<double> >(arma::Mat<double>&, arma::Mat<double> const&, double, double) in ccYKNLEL.o "_wrapper_dgemm_", referenced from:
_main in ccYKNLEL.o "_wrapper_dgemv_", referenced from:
_main in ccYKNLEL.o "_wrapper_dsyrk_", referenced from:
void arma::syrk<false, false, false>::apply_blas_type<double, arma::Mat<double> >(arma::Mat<double>&, arma::Mat<double> const&, double, double) in ccYKNLEL.o ld: symbol(s) not found for architecture
x86_64 collect2: error: ld returned 1 exit status
同样的
g++-4.7 -I/usr/local/include file1.cpp -O2 -framework accelerate
还包括-larmadillo
g++-4.7 -I/usr/local/include file1.cpp -O2 -larmadillo -llapack -lblas
返回
library not found for -larmadillo
在
/usr/local/Cellar/armadillo/4.100.2/lib/
我找到了像 libarmadillo.4.10.2.dylib
这样的库,但它们不能包含在 -I
中
可能是什么问题?
【问题讨论】:
【参考方案1】:您忘记在编译命令中添加-larmadillo
。这应该有效:
g++-4.7 -I/usr/local/include file1.cpp -O2 -larmadillo -llapack -lblas
请注意,这一切都在犰狳附带的README.txt
文件中进行了解释。
大多数开源软件都附带 README 文件或其他文档,通常最好在使用软件之前阅读文档。
【讨论】:
【参考方案2】:可以使用-L
包含库
g++ -I/usr/local/include -L/usr/local/lib file1.cpp -O2 -llapack -lblas -larmadillo
【讨论】:
以上是关于在 Mac Mavericks 上使用 Homebrew 安装犰狳的主要内容,如果未能解决你的问题,请参考以下文章
在 Mac Mavericks 上使用 Homebrew 安装犰狳
无法使用 Mavericks 在我的 Mac 上安装 PG gem
使用 PhoneGap/Cordova 为 Android 构建时,在 Mac OS X 10.9 Mavericks 上执行命令“ant”时出错
无法在 Mac Mavericks 上安装 python mysql 库