Octave 在windows上以倍频程安装liblinear

Octave 在windows上以倍频程安装liblinear,octave,Octave,我正在尝试在Windows7上的octave 3.6.2中安装liblinear 1.91。 octave是一个干净的mingw安装,除了libsvm 3.12之外,没有额外的软件包。 请注意,通过从octave运行make.m安装libsvm时没有问题。 但是,当我尝试对liblinear执行相同操作时,我得到: ../blas.o:在函数dscal_'中: C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:scal的多定义 ../blas.o:

我正在尝试在Windows7上的octave 3.6.2中安装liblinear 1.91。 octave是一个干净的mingw安装,除了libsvm 3.12之外,没有额外的软件包。 请注意,通过从octave运行make.m安装libsvm时没有问题。 但是,当我尝试对liblinear执行相同操作时,我得到:

../blas.o:在函数dscal_'中: C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:scal的多定义 ../blas.o:C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:首先在此处定义 ../blas.o:在函数dscal_'中: C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:scal的多定义 ../blas.o:C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:首先在此处定义 ../blas.o:在函数dscal_'中: C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:scal的多定义 ../blas.o:C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:首先在此处定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:35:tron::infochar const*的多重定义,…' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:35:首先在这里定义 …o:在functionTRON'中: C:\Octave\liblinear-1.91\matlab/。/tron.cpp:44:tron的多重定义::tron函数常数*,double,int' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:44:首先在这里定义 …o:在函数~TRON'中: C:\Octave\liblinear-1.91\matlab/。/tron.cpp:54:tron的多重定义::~tron' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:54:首先在这里定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:161:tron的多重定义::trcgdouble,double*,doubl*,doubl e*' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:161:首先在这里定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:57:tron::trondouble*的多重定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:57:首先在这里定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:224:tron的多重定义::norm\u infint,double*' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:224:首先在这里定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:234:tron的多重定义::set\u print\u stringvoid*char const *' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:234:首先在这里定义 …o:在functionTRON'中: C:\Octave\liblinear-1.91\matlab/。/tron.cpp:44:tron的多重定义::tron函数常数*,double,int' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:44:首先在这里定义 …o:在函数~TRON'中: C:\Octave\liblinear-1.91\matlab/。/tron.cpp:54:tron的多重定义::~tron' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:54:首先在这里定义 列车运行:在“交叉验证”功能中: C:\Octave\liblinear-1.91\matlab/train.C:86:交叉验证的未定义引用' 列车运行:在“命令行”中: C:\Octave\liblinear-1.91\matlab/train.C:212:未定义用于设置\u print\u string\u函数的引用' 列车运行:在functionmexFunction'中: C:\Octave\liblinear-1.91\matlab/train.C:374:检查_参数的未定义引用' C:\Octave\liblinear-1.91\matlab/train.C:380:未定义的对destroy_param的引用' C:\Octave\liblinear-1.91\matlab/train.C:368:销毁参数的未定义引用' C:\Octave\liblinear-1.91\matlab/train.C:357:未定义对destroy_param的引用' C:\Octave\liblinear-1.91\matlab/train.C:405:销毁参数的未定义引用' C:\Octave\liblinear-1.91\matlab/train.C:399:未定义的对train的引用' C:\Octave\liblinear-1.91\matlab/train.C:403:未定义对自由和破坏模型的引用' …o:tron.cpp:.text+0x166:未定义的对nrm2_382;的引用' …o:tron.cpp:.text+0x188:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x1da:未定义的引用toddot\u1' …o:tron.cpp:.text+0x209:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x220:未定义的对nrm2_u2;的引用' …o:tron.cpp:.text+0x261:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x279:未定义的引用toddot_389;' …o:tron.cpp:.text+0x2c5:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x2dd:未定义对nrm2_u2;的引用' …o:tron.cpp:.text+0x368:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x387:未定义的引用toddot_389;' …o:tron.cpp:.text+0x3aa:对ddot_10;的未定义引用 …o:tron.cpp:.text+0x3c6:未定义的引用toddot_389;' …o:tron.cpp:.text+0x440:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x46e:未定义对daxpy的引用' …o:tron.cpp:.text+0x5df:对dnrm2_382;的未定义引用' …o:tron.cpp:.text+0x754:未定义对DAXPY的引用 …o:tron.cpp:.text+0x78f:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x7ca:未定义的引用toddot_u10; …o:tron.cpp:.text+0x828:对dnrm2的未定义引用 …o:tron.cpp:.text+0xaf2:未定义的对nrm2_u2;的引用' …o:tron.cpp:.text+0x166:对dnrm2_382;的未定义引用' …o:tron.cpp:.text+0x188:未定义的引用toddot_389;' …o:tron.cpp:.text+0x1da:对ddot_10;的未定义引用 …o:tron.cpp:。文本+0x20 9:未定义对daxpy的引用' …o:tron.cpp:.text+0x220:对dnrm2_382;的未定义引用' …o:tron.cpp:.text+0x261:未定义对daxpy的引用 …o:tron.cpp:.text+0x279:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x2c5:未定义对daxpy的引用' …o:tron.cpp:.text+0x2dd:对dnrm2_382;的未定义引用' …o:tron.cpp:.text+0x368:未定义对daxpy的引用 …o:tron.cpp:.text+0x387:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x3aa:未定义的引用toddot\u0a' …o:tron.cpp:.text+0x3c6:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x440:未定义对daxpy的引用 …o:tron.cpp:.text+0x46e:对daxpy_10;的未定义引用' …o:tron.cpp:.text+0x5df:未定义对nrm2_u2;的引用' …o:tron.cpp:.text+0x754:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x78f:未定义的引用toddot_389;' …o:tron.cpp:.text+0x7ca:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x828:未定义的对nrm2的引用 …o:tron.cpp:.text+0xaf2:对dnrm2_382;的未定义引用' collect2:ld返回了1个退出状态 警告:在预期位置找不到mkoctfile:C:\Octave\Octave3.6.2\u gcc4.6.2\bin\mkoctfile-3.6.2' 警告:mkoctfile已退出,状态为失败 ../blas.o:在函数dscal_'中: C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:scal的多定义 ../blas.o:C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:首先在此处定义 ../blas.o:在函数dscal_'中: C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:scal的多定义 ../blas.o:C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:首先在此处定义 ../blas.o:在函数dscal_'中: C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:scal的多定义 ../blas.o:C:\Octave\liblinear-1.91\matlab/。/blas/dscal.C:4:首先在此处定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:35:tron::infochar const*的多重定义,…' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:35:首先在这里定义 …o:在functionTRON'中: C:\Octave\liblinear-1.91\matlab/。/tron.cpp:44:tron的多重定义::tron函数常数*,double,int' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:44:首先在这里定义 …o:在函数~TRON'中: C:\Octave\liblinear-1.91\matlab/。/tron.cpp:54:tron的多重定义::~tron' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:54:首先在这里定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:161:tron的多重定义::trcgdouble,double*,doubl*,doubl e*' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:161:首先在这里定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:57:tron::trondouble*的多重定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:57:首先在这里定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:224:tron的多重定义::norm\u infint,double*' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:224:首先在这里定义 …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:234:tron的多重定义::set\u print\u stringvoid*char const *' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:234:首先在这里定义 …o:在functionTRON'中: C:\Octave\liblinear-1.91\matlab/。/tron.cpp:44:tron的多重定义::tron函数常数*,double,int' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:44:首先在这里定义 …o:在函数~TRON'中: C:\Octave\liblinear-1.91\matlab/。/tron.cpp:54:tron的多重定义::~tron' …o:C:\Octave\liblinear-1.91\matlab/。/tron.cpp:54:首先在这里定义 o:在函数do_predict'中: C:\Octave\liblinear-1.91\matlab/predict.C:71:获取\u nr\u类的未定义引用 C:\Octave\liblinear-1.91\matlab/predict.C:81:未定义的集合\u nr\u特性参考' C:\Octave\liblinear-1.91\matlab/predict.C:147:预测概率的未定义参考 C:\Octave\liblinear-1.91\matlab/predict.C:155:未定义的预测值参考' predict.o:在函数mexFunction'中: C:\Octave\liblinear-1.91\matlab/predict.C:288:未定义的参考tofree_和_destroy_模型' C:\Octave\liblinear-1.91\matlab/predict.C:312:未定义对自由和破坏模型的引用' C:\Octave\liblinear-1.91\matlab/predict.C:295:检查概率模型的未定义引用' …o:tron.cpp:.text+0x166:对dnrm2_382;的未定义引用' …o:tron.cpp:.text+0x188:未定义的引用toddot_389;' …o:tron.cpp:.text+0x1da:对ddot_10;的未定义引用 …o:tron.cpp:.text+0x209:未定义对daxpy的引用' …o:tron.cpp:.text+0x220:对dnrm2_382;的未定义引用' …o:tron.cpp:.text+0x261:未定义对daxpy的引用 …o:tron.cpp:.text+0x279:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x2c5:未定义对daxpy的引用' …o:tron.cpp:.text+0x2dd:对dnrm2_382;的未定义引用' …o:tron.cpp:.text+0x368:未定义对daxpy的引用 …o:tron.cpp:.text+0x387:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x3aa:未定义的引用toddot\u0a' …o:tron.cpp :.text+0x3c6:未定义对ddot的引用' …o:tron.cpp:.text+0x440:未定义对daxpy的引用 …o:tron.cpp:.text+0x46e:对daxpy_10;的未定义引用' …o:tron.cpp:.text+0x5df:未定义对nrm2_u2;的引用' …o:tron.cpp:.text+0x754:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x78f:未定义的引用toddot_389;' …o:tron.cpp:.text+0x7ca:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x828:未定义的对nrm2的引用 …o:tron.cpp:.text+0xaf2:对dnrm2_382;的未定义引用' …o:tron.cpp:.text+0x166:未定义的对nrm2_382;的引用' …o:tron.cpp:.text+0x188:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x1da:未定义的引用toddot\u1' …o:tron.cpp:.text+0x209:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x220:未定义的对nrm2_u2;的引用' …o:tron.cpp:.text+0x261:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x279:未定义的引用toddot_389;' …o:tron.cpp:.text+0x2c5:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x2dd:未定义对nrm2_u2;的引用' …o:tron.cpp:.text+0x368:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x387:未定义的引用toddot_389;' …o:tron.cpp:.text+0x3aa:对ddot_10;的未定义引用 …o:tron.cpp:.text+0x3c6:未定义的引用toddot_389;' …o:tron.cpp:.text+0x440:对daxpy_389;的未定义引用' …o:tron.cpp:.text+0x46e:未定义对daxpy的引用' …o:tron.cpp:.text+0x5df:对dnrm2_382;的未定义引用' …o:tron.cpp:.text+0x754:未定义对DAXPY的引用 …o:tron.cpp:.text+0x78f:对ddot_389;的未定义引用' …o:tron.cpp:.text+0x7ca:未定义的引用toddot_u10; …o:tron.cpp:.text+0x828:对dnrm2的未定义引用 …o:tron.cpp:.text+0xaf2:未定义的对nrm2_u2;的引用' collect2:ld返回了1个退出状态 警告:在预期位置找不到mkoctfile:`C:\Octave\Octave3.6.2\u gcc4.6.2\bin\mkoctfile-3.6.2' 警告:mkoctfile已退出,状态为失败


请提供帮助。

从liblinear-1.91/matlab文件夹开始,为我编译:

cd ..
mex   -c linear.cpp
mex   -c tron.cpp
cd blas
mex   -c *.c
cd ../matlab
mex libsvmread.c
mex libsvmwrite.c
mex train.c linear_model_matlab.c ../linear.o ../tron.o ../blas/*.o
mex predict.c linear_model_matlab.c ../linear.o ../tron.o ../blas/*.o

从liblinear-1.91/matlab文件夹开始,这为我编译:

cd ..
mex   -c linear.cpp
mex   -c tron.cpp
cd blas
mex   -c *.c
cd ../matlab
mex libsvmread.c
mex libsvmwrite.c
mex train.c linear_model_matlab.c ../linear.o ../tron.o ../blas/*.o
mex predict.c linear_model_matlab.c ../linear.o ../tron.o ../blas/*.o

我正在Visual Studio 2010中使用octave 3.6.2

我首先按照这里的说明操作libsvm:

要编译liblinear,请使用visual studio环境变量运行octave,请参阅上面的链接,cd到liblinear目录,然后运行以下命令:

mex -c 'linear.cpp' 
mex -c 'tron.cpp' 
cd blas
mex -c 'daxpy.c' 
mex -c 'ddot.c' 
mex -c 'dnrm2.c' 
mex -c 'dscal.c'
cd ..\matlab 
mex -DMX_API_VER=0x07030000 -c linear_model_matlab.c -I..\\ 
mex -DMX_API_VER=0x07030000 train.c -I..\\ '..\tron.o' '..\linear.o' 'linear_model_matlab.o' '..\blas\daxpy.o' '..\blas\ddot.o' '..\blas\dnrm2.o' '..\blas\dscal.o' 
mex -DMX_API_VER=0x07030000 predict.c -I..\\ '..\tron.o' '..\linear.o' 'linear_model_matlab.o' '..\blas\daxpy.o' '..\blas\ddot.o' '..\blas\dnrm2.o' '..\blas\dscal.o' 
mex -DMX_API_VER=0x07030000 libsvmread.c 
mex -DMX_API_VER=0x07030000 libsvmwrite.c 

我正在Visual Studio 2010中使用octave 3.6.2

我首先按照这里的说明操作libsvm:

要编译liblinear,请使用visual studio环境变量运行octave,请参阅上面的链接,cd到liblinear目录,然后运行以下命令:

mex -c 'linear.cpp' 
mex -c 'tron.cpp' 
cd blas
mex -c 'daxpy.c' 
mex -c 'ddot.c' 
mex -c 'dnrm2.c' 
mex -c 'dscal.c'
cd ..\matlab 
mex -DMX_API_VER=0x07030000 -c linear_model_matlab.c -I..\\ 
mex -DMX_API_VER=0x07030000 train.c -I..\\ '..\tron.o' '..\linear.o' 'linear_model_matlab.o' '..\blas\daxpy.o' '..\blas\ddot.o' '..\blas\dnrm2.o' '..\blas\dscal.o' 
mex -DMX_API_VER=0x07030000 predict.c -I..\\ '..\tron.o' '..\linear.o' 'linear_model_matlab.o' '..\blas\daxpy.o' '..\blas\ddot.o' '..\blas\dnrm2.o' '..\blas\dscal.o' 
mex -DMX_API_VER=0x07030000 libsvmread.c 
mex -DMX_API_VER=0x07030000 libsvmwrite.c 

你试过问liblinear开发者吗?你试过问liblinear开发者吗?