将matlab make从linux版本转换为windows版本

时间:2015-01-28 04:12:32

标签: matlab makefile

我有来自公共代码的这个linux makefile,现在我正在尝试在Windows上使用它 http://pastebin.com/gSqRFUvQ

这是我到目前为止所拥有的。 http://pastebin.com/iHugE5Z6

但我在第80行遇到错误。

    echo "#include \"../src/gconv.cu\"" > "matlab/mex/gconv.cpp"
    "/cygdrive/C/Program Files/Matlab2014b/bin/win64/mex"  -lmwblas -largeArrayDims "matlab/mex/gconv.cpp" matlab/src/bits/im2col.obj matlab/src/bits/pooling.obj matlab/src/bits/normalize.obj -o "matlab/mex/gconv.mexw64" 2> >(sed 's/^\(.*\)(\([0-9][0-9]*\)): \([ew].*\)/\1:\2: \3/g' >&2)
    Unknown MEX argument '-o'.
    Makefile:79: recipe for target 'matlab/mex/gconv.mexw64' failed
    make: *** [matlab/mex/gconv.mexw64] Error 127

基本上,参数-o不存在。我确定作者想要的参数是什么。但我认为它应该是-output,因为它会产生.mew64文件。如果我将其更改为“-output”,则会在中间出现错误。

echo "#include \"../src/gconv.cu\"" > "matlab/mex/gconv.cpp"
"/cygdrive/C/Program Files/Matlab2014b/bin/win64/mex"  -lmwblas -largeArrayDims "matlab/mex/gconv.cpp" matlab/src/bits/im2col.obj matlab/src/bits/pooling.obj matlab/src/bits/normalize.obj -output "matlab/mex/gconv.mexw64" 2> >(sed 's/^\(.*\)(\([0-9][0-9]*\)): \([ew].*\)/\1:\2: \3/g' >&2)
Building with 'Microsoft Visual C++ 2012'.
gconv.cpp
c:\cygwin64\home\denny\jaderberg-eccv2014_textspotting-dbe823e3c642\matconvnet\matlab\src\bits/mexutils.h(132) : error C3861: 'snprintf': identifier not found
c:\cygwin64\home\denny\jaderberg-eccv2014_textspotting-dbe823e3c642\matconvnet\matlab\src\bits/mexutils.h(147) : error C3861: 'snprintf': identifier not found
c:\cygwin64\home\denny\jaderberg-eccv2014_textspotting-dbe823e3c642\matconvnet\matlab\mex\../src/gconv.cu(228) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
c:\cygwin64\home\denny\jaderberg-eccv2014_textspotting-dbe823e3c642\matconvnet\matlab\mex\../src/gconv.cu(381) : warning C4267: 'argument' : conversion from 'size_t' to 'const int', possible loss of data
c:\cygwin64\home\denny\jaderberg-eccv2014_textspotting-dbe823e3c642\matconvnet\matlab\mex\../src/gconv.cu(459) : warning C4267: 'argument' : conversion from 'size_t' to 'const int', possible loss of data
c:\cygwin64\home\denny\jaderberg-eccv2014_textspotting-dbe823e3c642\matconvnet\matlab\mex\../src/gconv.cu(481) : warning C4267: 'argument' : conversion from 'size_t' to 'const int', possible loss of data


Makefile:79: recipe for target 'matlab/mex/gconv.mexw64' failed
make: *** [matlab/mex/gconv.mexw64] Error 127

是不是可以在Windows上使用它?任何人都可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

您现在应该可以在较新的MatConvNet版本中使用相同的网络,因为添加了Windows支持(即使在某些配置中仍然存在一些故障......)。 此外,您在此处报告的错误也已得到修复(当时代码未针对MSC编译器进行修复)。