2013-07-15 57 views
1

我正在嘗試從命令行中爲LIBSVM 3.17版本的Windows PC進行編譯,以允許加權實例 (從http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#weights_for_data_instances)。 我正在使用Microsoft Visual Studio 2010中的可執行工具,但遇到了一個我不明白的錯誤。微軟的錯誤文檔讓我不再進一步。任何人都可以指出我的方向,或者有人設法爲Windows編譯這個包?在WIndows上構建LIBSVM

我在命令行中運行:

nmake -f Makefile.win 

,並得到一個錯誤:

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0  \VC\bin\cl.exe"' : return code '0xc0000135' Stop. 

The full makefile is: 

**CXX = cl.exe 
CFLAGS = -nologo -O2 -EHsc -I. -D __WIN32__ -D _CRT_SECURE_NO_DEPRECATE 
TARGET = windows 

all: $(TARGET)\svm-train.exe $(TARGET)\svm-predict.exe $(TARGET)\svm-scale.exe  $(TARGET)\svm-toy.exe lib 

$(TARGET)\svm-predict.exe: svm.h svm-predict.c svm.obj 
    $(CXX) $(CFLAGS) svm-predict.c svm.obj -Fe$(TARGET)\svm-predict.exe 

$(TARGET)\svm-train.exe: svm.h svm-train.c svm.obj 
    $(CXX) $(CFLAGS) svm-train.c svm.obj -Fe$(TARGET)\svm-train.exe 

$(TARGET)\svm-scale.exe: svm.h svm-scale.c 
    $(CXX) $(CFLAGS) svm-scale.c -Fe$(TARGET)\svm-scale.exe 

$(TARGET)\svm-toy.exe: svm.h svm.obj svm-toy\windows\svm-toy.cpp 
    $(CXX) $(CFLAGS) svm-toy\windows\svm-toy.cpp svm.obj user32.lib gdi32.lib comdlg32.lib  -Fe$(TARGET)\svm-toy.exe 

svm.obj: svm.cpp svm.h 
$(CXX) $(CFLAGS) -c svm.cpp 

lib: svm.cpp svm.h svm.def 
$(CXX) $(CFLAGS) -LD svm.cpp -Fe$(TARGET)\libsvm -link -DEF:svm.def 

clean: 
-erase /Q *.obj $(TARGET)\** 

回答

0

我發現(猜測)我需要手動創建一個名爲「windows」的可執行文件所在的目錄。不完全確定爲什麼這是必要的,但是它完成了這項工作,而且如果不這樣做,我仍然無法找到辦法。