2012-09-23 34 views
1

我試圖在八度3.6.2在Windows liblinear 1.91安裝7 倍頻是一個乾淨的MinGW而無需額外的安裝包除了LIBSVM 3.12。 請注意libsvm通過從八度音程運行make.m而沒有問題。然而 當我嘗試同爲liblinear我得到:在倍頻安裝liblinear在Windows

../blas.o:在功能dscal_': C:\Octave\liblinear-1.91\matlab/../blas/dscal.c:4: multiple definition of dscal_」 ../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: multiple definition of dscal_」 ../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: multiple definition of dscal_」 ../blas.o:C:\Octave\liblinear-1.91\matlab/../blas/dscal.c: 4:此處首先定義爲 ... o:C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:35:多重定義TRON::info(char const*, ...)' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:35: first defined here ...o: In function TRON': C:\倍頻\ liblinear-1.91 \ MATLAB /../ tron.cpp:44:的TRON::TRON(function const*, double, int)' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:44: first defined here ...o: In function〜TRON'多個定義: C:\倍頻\ liblinear-1.91 \ MATLAB /../ tron.cpp:54: TRON::~TRON()' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:54: first defined here ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:161: multiple definition of TRON :: TRCG(雙,雙*,雙*,doubl E *)」 的多個定義... O:C:\倍頻\ liblinear-1.91 \ MATLAB /../ tron.cpp:161:第一定義在這裏 ... o:C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:57:TRON::tron(double*)' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:57: first defined here ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:224: multiple definition of的多重定義TRON :: norm_inf(int,double *)' ... o:C :\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:224:首先在這裏定義 ... o:C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:234:多重定義TRON::set_print_string(void (*)(char const *))' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:234: first defined here ...o: In function TRON的 ': C:\倍頻\ liblinear-1.91 \ MATLAB /../ tron.cpp:44:多的TRON::TRON(function const*, double, int)' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:44: first defined here ...o: In function定義〜TRON' : C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:54:多重定義TRON::~TRON()' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:54: first defined here train.o: In function do_cross_validation': C:\ Octave \ liblinear-1.91 \ matlab/train.c:86:undefined reference to cross_validation' train.o: In function parse_command_line': C:\ Octave \ liblinear-1.91 \ matlab/train.c:212:undefined reference to set_print_string_function' train.o: In function mexFunction': C:\ Octave \ liblinear-1.91 \ matlab/train.c:374:undefined reference to check_parameter' C:\Octave\liblinear-1.91\matlab/train.c:380: undefined reference to destroy_param' C:\ Octave \ liblinear-1.91 \ matlab/train.c:368:undefined reference to destroy_param' C:\Octave\liblinear-1.91\matlab/train.c:357: undefined reference to destroy_param' C:\ Octave \ liblinear-1.91 \ matlab/train.c:405:undefined reference to destroy_param' C:\Octave\liblinear-1.91\matlab/train.c:399: undefined reference to train ' C:\ Octave \ liblinear-1.91 \ matlab/train.c:403:未定義的參考free_and_destroy_model' ...o:tron.cpp:(.text+0x166): undefined reference to d nrm2_' ... o:tron.cpp :(。text + 0x188):未定義引用ddot_' ...o:tron.cpp:(.text+0x1da): undefined reference to ddot_' ... o:tron.cpp :(。text + 0x209):undefined參考daxpy_' ...o:tron.cpp:(.text+0x220): undefined reference to dnrm2_' 。 ..o:tron.cpp :(。text + 0x261):未定義引用daxpy_' ...o:tron.cpp:(.text+0x279): undefined reference to ddot_' ... o:tron.cpp :(。text + 0x2c5):未定義引用daxpy_' ...o:tron.cpp:(.text+0x2dd): undefined reference to dnrm2_' ... o: tron.cpp :(。text + 0x368):未定義引用daxpy_' ...o:tron.cpp:(.text+0x387): undefined reference to ddot_' ... o:tron.cpp :(。text + 0x3aa):undefined參考ddot_' ...o:tron.cpp:(.text+0x3c6): undefined reference to ddot_' ... o:tron.cpp: (.text + 0x440):未定義引用daxpy_' ...o:tron.cpp:(.text+0x46e): undefined reference to daxpy_' ... o:tron.cpp :(。text + 0x5df):undefined參考dnrm2_' ...o:tron.cpp:(.text+0x754): undefined reference to daxpy_' ... o:tron.cpp :(。text + 0x78f):undefined參考ddot_' ...o:tron.cpp:(.text+0x7ca): undefined reference to ddot_' ... o:tron.cpp :(.text + 0x828):undefined參考dnrm2_' ...o:tron.cpp:(.text+0xaf2): undefined reference to dnrm2_' ... o:tron.cpp :(。text + 0x166):未定義的引用dnrm2_' ...o:tron.cpp:(.text+0x188): undefined reference to ddot_' ... o:tron.cpp :(。text + 0x1da):undefined引用ddot_' ...o:tron.cpp:(.text+0x209): undefined reference to daxpy_' ... o:tron。 CPP :(。(text + 0x279):未定義的引用dnrm2_' ...o:tron.cpp:(.text+0x261): undefined reference to daxpy_' ... o:tron.cpp :(。text + 0x279):未定義的引用ddot_' ...o:tron.cpp:(.text+0x2c5): undefined reference to daxpy_' ... o:tron.cpp :(。text + 0x2dd) :undefined對dnrm2_' ...o:tron.cpp:(.text+0x368): undefined reference to的引用daxpy_' ... o:tron.cpp :(。text + 0x387):未定義的引用ddot_' ...o:tron.cpp:(.text+0x3aa): undefined reference to ddot_' ... o:tron.cpp :(.text + 0x3c6):未定義的引用ddot_' ...o:tron.cpp:(.text+0x440): undefined reference to daxpy_ ' ... O:tron.cpp :(文字+ 0x46e):未定義的引用daxpy_' ...o:tron.cpp:(.text+0x5df): undefined reference to dnrm2_' ... O:tron.cpp :(文字+ 0x754):未定義的引用daxpy_' ...o:tron.cpp:(.text+0x78f): undefined reference to ddot_」 ... o:tron.cpp :(.text + 0x7ca):undefined參考ddot_' ...o:tron.cpp:(.text+0x828): undefined reference to dnrm2_' ... o:tron.cpp :(.text + 0xaf2):undefined reference t o dnrm2_' collect2: ld returned 1 exit status warning: unable to find mkoctfile in expected location: C:\ Octave \ Octave3.6.2_gcc4.6.2 \ bin \ mkoctfile-3.6.2' 警告:mkoctfile退出失敗狀態 ../blas.o:功能dscal_': C:\Octave\liblinear-1.91\matlab/../blas/dscal.c:4: multiple definition of dscal_' ../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: multiple definition of dscal_' ../ 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: multiple definition of dscal_' ../blas.o:C:\Octave\liblinear- 1.91 \ matlab /../ blas/dscal.c:4:首先在這裏定義 ... o:C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:35:多重定義TRON::info(char const*, ...)' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:35: first defined here ...o: In function TRON' : C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:44:m ultonple definition of TRON::TRON(function const*, double, int)' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:44: first defined here ...o: In function〜TRON': C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:54:多重定義TRON::~TRON()' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:54: first defined here ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:161: multiple definition of TRON :: trcg(double,double *,double *,doubl e * )' ... o:C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:161:首先在這裏定義 ... o:C:\ Octave \ liblinear-1.91 \ matlab/.. /tron.cpp:57:多重定義TRON::tron(double*)' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:57: first defined here ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:224: multiple definition of TRON :: norm_inf(int,double *)' ... o:C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:224:首先定義這裏 ... o:C:\ Octave \ liblinear-1.91 \ matlab /../ tron.cpp:234:多重定義TRON::set_print_string(void (*)(char const *))' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:234: first defined here ...o: In function TRON': C:\ Octave \ liblinear-1.91 \ matlab /../ tron .cpp:44:多重定義TRON::TRON(function const*, double, int)' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:44: first defined here ...o: In function〜TRON': C:\ Octave \ liblinear-1.91 \ matla b /../ tron.cpp:54:多重定義TRON::~TRON()' ...o:C:\Octave\liblinear-1.91\matlab/../tron.cpp:54: first defined here predict.o: In function do_predict': C:\ Octave \ liblinear-1.91 \ matlab/predict.c:71:undefined reference to get_nr_class' C:\Octave\liblinear-1.91\matlab/predict.c:81: undefined reference to get_nr_feature' C:\ Octave \ liblinear- 1.91 \ matlab/predict.c:147:未定義的參考predict_probability' C:\Octave\liblinear-1.91\matlab/predict.c:155: undefined reference to predict_values' predict.o:函數mexFunction': C:\Octave\liblinear-1.91\matlab/predict.c:288: undefined reference to free_and_destroy_model' C:\ Octave \ liblinear-1.91 \ matlab/predict.c:312:undefined reference to free_and_destroy_model' C:\Octave\liblinear-1.91\matlab/predict.c:295: undefined reference to check_probability_model' ... o:tron.cpp :(。text + 0x166):未定義引用dnrm2_' ...o:tron.cpp:(.text+0x188): undefined reference to ddot_' ... o:tron.cpp :(。text + 0x1da):undefined引用ddot_' ...o:tron.cpp:(.text+0x209): undefined reference to daxpy_' ... o:tron.cpp :(。text + 0x220):undefined對dnrm2_' ...o:tron.cpp:(.text+0x261): undefined reference to dax的引用py_' ... o:tron.cpp :(。text + 0x279):undefined參考ddot_' ...o:tron.cpp:(.text+0x2c5): undefined reference to daxpy_' ... o:tron.cpp :(。text + 0x2dd):undefined參考dnrm2_' ...o:tron.cpp:(.text+0x368): undefined reference to daxpy_' 。 ..o:tron.cpp :(。text + 0x387):undefined參考ddot_' ...o:tron.cpp:(.text+0x3aa): undefined reference to ddot_' ... o:tron.cpp :(.text + 0x3c6):undefined參考ddot_' ...o:tron.cpp:(.text+0x440): undefined reference to daxpy_' ... o: tron.cpp :(。text + 0x46e):未定義的引用daxpy_' ...o:tron.cpp:(.text+0x5df): undefined reference to dnrm2_' ... o:tron.cpp :(。text + 0x754):未定義的引用daxpy_' ...o:tron.cpp:(.text+0x78f): undefined reference to ddot_' ... o:tron.cpp: (.text + 0x7ca):undefined參考ddot_' ...o:tron.cpp:(.text+0x828): undefined reference to dnrm2_' ... o:tron.cpp :(。(文本+ 0x188):未定義引用dnrm2_' ...o:tron.cpp:(.text+0x166): undefined reference to dnrm2_' ... o:tron.cpp :(。text + 0x188):未定義引用ddot_' ...o:tron.cpp:(.text+0x1da): undefined reference to ddot_' ... o:tron.cpp :(。text + 0x209) :undefined參考daxpy_' ...o:tron.cpp:(.text+0x220): undefined reference to dnrm2_' ... o:tron.cpp :(。text + 0x261):undefined參考daxpy_' ...o:tron.cpp:(.text+0x279): undefined reference to ddot_' ... o:tron.cpp :(。text + 0x2c5):未定義的參考daxpy_' ...o:tron.cpp:(.text+0x2dd): undefined reference to dnrm2_ ' ... O:tron.cpp :(文字+ 0x368):未定義的引用daxpy_' ...o:tron.cpp:(.text+0x387): undefined reference to ddot_' ... O:tron.cpp :(文字+ 0x3aa):未定義的引用ddot_' ...o:tron.cpp:(.text+0x3c6): undefined reference to ddot_」 ... o:tron.cpp :(.text + 0x440):未定義的引用daxpy_' ...o:tron.cpp:(.text+0x46e): undefined reference to daxpy_' ... o:tron.cpp :(.text + 0x5df):undefined reference到dnrm2_' ...o:tron.cpp:(.text+0x754): undefined reference to daxpy_' ... o:tron.cpp :(。text + 0x78f):undefined參考ddot_' ...o:tron.cpp:(.text+0x7ca): undefined reference to ddot_' ... o:tron.cpp :(。text + 0x828):未定義的參考dnrm2_' ...o:tron.cpp:(.text+0xaf2): undefined reference to dnrm2_' collect2:LD返回1個退出狀態 警告:無法找到預期位置mkoctfile:'C:\倍頻\ Octave3.6.2_gcc4.6.2 \ BIN \ mkoctfile-3.6.2' 警告:失敗狀態mkoctfile退出

請大家幫忙。

+0

你試過問liblinear開發者嗎? – carandraug

回答

3

從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 
1

我使用倍頻3.6.2與Visual Studio 2010

我第一次跟着指示在這裏得到LIBSVM工作:http://flyingpies.wordpress.com/2012/11/20/getting-libsvm-to-work-with-octave-on-windows/

若要liblinear編譯,運行與Visual Studio環境變量倍頻(見上面的鏈接),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