环境:Matlab R2014a (8.3), Macosx mavericks 10.9.3, Apple LLVM 5.1 (clang-503.0.40)
我正在从http://www.csie.ntu.edu.tw/~cjlin/liblinear/编译 liblinear 包。我修复了matlab安装目录中的mexopts.h指向正确的SDKROOT、C和CXX。当我从导向器 liblinear-1.94/matlab/ 下的 matlab 内部运行 make 时,libsvmread 和 libsvmwrite 成功生成了 mexmaci64 库。但是,它没有为训练和预测生成。因此,我评论了 make 中的 try catch 期望,以了解错误。现在我收到以下错误。
Error using mex
Undefined symbols for architecture x86_64:
"_daxpy_", referenced from:
TRON::tron(double*) in tron.o
TRON::trcg(double, double*, double*, double*) in tron.o
"_ddot_", referenced from:
TRON::tron(double*) in tron.o
TRON::trcg(double, double*, double*, double*) in tron.o
"_dnrm2_", referenced from:
TRON::tron(double*) in tron.o
TRON::trcg(double, double*, double*, double*) in tron.o
"_dscal_", referenced from:
TRON::trcg(double, double*, double*, double*) in tron.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
Error in make (line 16)
mex CFLAGS="\$CFLAGS -std=c99 -v" -largeArrayDims train.c
linear_model_matlab.c ../linear.cpp ../tron.cpp
"../blas/*.c"
知道为什么我会收到此错误吗?