【问题标题】:Building LIBSVM on WIndows在 Windows 上构建 LIBSVM
【发布时间】:2013-07-15 18:30:30
【问题描述】:

我正在尝试从命令行为 Windows PC 的 LIBSVM 3.17 版本进行构建,该版本已修改为允许加权实例 (来自http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#weights_for_data_instances)。 我正在使用 Microsoft Visual Studio 2010 中的可执行工具,但出现我不理解的错误。微软的错误文档让我没有进一步了解。谁能指出一个有用的方向,或者有没有人设法为 Windows 编译这个包?

我在命令行运行:

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)\**

【问题讨论】:

    标签: libsvm


    【解决方案1】:

    我建议你直接从 Visual Studio 编译它,因为它更容易,但如果你仍然想通过这个链接这样的命令来编译它可能会有所帮助:

    NMAKE : fatal error U1077: return code '0xc0000135'

    显然问题是 NMake 找不到编译器的路径。

    【讨论】:

    • 不,不是这样:见下文。
    【解决方案2】:

    我发现(通过猜测)我需要手动创建一个名为“windows”的目录来生成可执行文件。不完全确定为什么这是必要的,但它确实完成了工作,我仍然看不到不这样做的方法。

    【讨论】:

      猜你喜欢
      • 2018-03-03
      • 2012-10-25
      • 2015-01-24
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多