Я пытался следовать руководству по этой ссылке: http://thebrainiac1.blogspot.com.es/2012/07/v-behaviorurldefaultvmlo.html
Однако это очень хороший учебник, когда я дошел до шага 6 и запустил compilemex, компиляция не удалась. Я точно следовал руководству, однако может случиться так, что я использую другую архитектуру. Я использую MacOSx Mavericks версии 10.9.2.
Если у кого-то была такая же проблема на той же машине и ему удалось ее решить, поделитесь своей идеей, так как мне нужно, чтобы она работала. Очень признателен!
Вывод компилятора:
K>> compilemex
Compiling mexsvmlearn
Building with 'Xcode with Clang'
/MATLAB/HOGFeatureswithSVM/hog_feature_vector/face detection/svm_mex601/src/mexsvmlearn.c:217:2: warning: '/*' within block comment [-Wcomment]
/* strcpy (docfile, argv[i]);
1 warning generated.
/MATLAB/HOGFeatureswithSVM/hog_feature_vector/face detection/svm_mex601/src/svm_learn.c:2910:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if((unlabeled[i] == 2)) {
/MATLAB/HOGFeatureswithSVM/hog_feature_vector/face detection/svm_mex601/src/svm_learn.c:2910:24: note: remove extraneous parentheses around the comparison to silence this warning
if((unlabeled[i] == 2)) {
/MATLAB/HOGFeatureswithSVM/hog_feature_vector/face detection/svm_mex601/src/svm_learn.c:2910:24: note: use '=' to turn this equality comparison into an assignment
if((unlabeled[i] == 2)) {
/MATLAB/HOGFeatureswithSVM/hog_feature_vector/face detection/svm_mex601/src/svm_learn.c:2916:29: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
else if((unlabeled[i] == 3)) {
/MATLAB/HOGFeatureswithSVM/hog_feature_vector/face detection/svm_mex601/src/svm_learn.c:2916:29: note: remove extraneous parentheses around the comparison to silence this warning
else if((unlabeled[i] == 3)) {
/MATLAB/HOGFeatureswithSVM/hog_feature_vector/face detection/svm_mex601/src/svm_learn.c:2916:29: note: use '=' to turn this equality comparison into an assignment
else if((unlabeled[i] == 3)) {
2 warnings generated.
MATLAB/HOGFeatureswithSVM/hog_feature_vector/face detection/svm_mex601/src/mexcommon.c:522:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
1 warning generated.
compile failed
Когда я удалил try catch in thecompilemex.m, Matlab выдал ошибку такого типа: Ошибка при использовании mex
duplicate symbol _verbosity in:
/var/folders/j_/1mchj6c53pgdb3bj4rf6324m0000gn/T//mex_3720017078488_810/global.o
/var/folders/j_/1mchj6c53pgdb3bj4rf6324m0000gn/T//mex_3720017078488_810/svm_hideo.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error in compilemex (line 7)
mex -O -DMATLAB_MEX -I../src ../src/mexsvmlearn.c ../src/global.c ../src/svm_learn.c
../src/svm_common.c ../src/svm_hideo.c ../src/mexcommon.c
compilemex.m
и посмотреть, поможет ли устранение строгой компиляции (компиляция без предупреждения) при компиляции этого кода? - person rayryeng   schedule 16.10.2014