You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
By clicking “Sign up for GitHub”, you agree to our
terms of service
and
privacy statement
. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Hello, Here blow is the result after running vl_compilenn , Sorry for the fact that I don't know how to translate it into English;
I guess it may result from the lib (X64) confilct with the Visual Studio Project (X86), but I don't know how come it happened
All the commands were executed according the official website,that is to say:
mex -setup C++ ;
addpath(genpath(pwd));
vl_compilenn;
错误使用 mex
正在创建库 C:\Users\HelloWorld\Desktop\super\matconvnet-master\matlab\mex\vl_nnconv.lib 和对象 C:\Users\HelloWorld\Desktop\super\matconvnet-master\matlab\mex\vl_nnconv.exp
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxGetNumberOfDimensions_730,该符号在函数 "bool __cdecl vlmxIsMatrix(struct mxArray_tag const *,int,int)" (?vlmxIsMatrix@@YA_NPBUmxArray_tag@
@hh
@Z) 中被引用
datamex.obj : error LNK2001: 无法解析的外部符号 _mxGetNumberOfDimensions_730
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxGetDimensions_730,该符号在函数 "bool __cdecl vlmxIsMatrix(struct mxArray_tag const *,int,int)" (?vlmxIsMatrix@@YA_NPBUmxArray_tag@
@hh
@Z) 中被引用
datamex.obj : error LNK2001: 无法解析的外部符号 _mxGetDimensions_730
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxGetM,该符号在函数 "bool __cdecl vlmxIsMatrix(struct mxArray_tag const *,int,int)" (?vlmxIsMatrix@@YA_NPBUmxArray_tag@
@hh
@Z) 中被引用
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxGetClassID,该符号在函数 "bool __cdecl vlmxIsOfClass(struct mxArray_tag const *,enum mxClassID)" (?vlmxIsOfClass@@YA_NPBUmxArray_tag@@W4mxClassID@@
@z
) 中被引用
datamex.obj : error LNK2001: 无法解析的外部符号 _mxGetClassID
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxIsNumeric,该符号在函数 "bool __cdecl vlmxIsPlain(struct mxArray_tag const *)" (?vlmxIsPlain@@YA_NPBUmxArray_tag@@
@z
) 中被引用
datamex.obj : error LNK2001: 无法解析的外部符号 _mxIsNumeric
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxIsChar,该符号在函数 "int __cdecl vlmxIsString(struct mxArray_tag const *,int)" (?vlmxIsString@@YAHPBUmxArray_tag@
@h
@Z) 中被引用
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxIsComplex,该符号在函数 "bool __cdecl vlmxIsPlain(struct mxArray_tag const *)" (?vlmxIsPlain@@YA_NPBUmxArray_tag@@
@z
) 中被引用
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxIsSparse,该符号在函数 "bool __cdecl vlmxIsMatrix(struct mxArray_tag const *,int,int)" (?vlmxIsMatrix@@YA_NPBUmxArray_tag@
@hh
@Z) 中被引用
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxGetNumberOfElements,该符号在函数 "bool __cdecl vlmxIsMatrix(struct mxArray_tag const *,int,int)" (?vlmxIsMatrix@@YA_NPBUmxArray_tag@
@hh
@Z) 中被引用
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxGetPr,该符号在函数 _mexFunction 中被引用
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxGetN,该符号在函数 "bool __cdecl vlmxIsMatrix(struct mxArray_tag const *,int,int)" (?vlmxIsMatrix@@YA_NPBUmxArray_tag@
@hh
@Z) 中被引用
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxCreateNumericMatrix_730,该符号在函数 _mexFunction 中被引用
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mxGetString_730,该符号在函数 "int __cdecl vlmxNextOption(struct mxArray_tag const * * const,int,struct VLMXOption const *,int *,struct mxArray_tag const * *)"
(?vlmxNextOption@@YAHQAPBUmxArray_tag@@HPBUVLMXOption@@PAHPAPBU1@
@z
) 中被引用
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mexErrMsgIdAndTxt,该符号在函数 "void __cdecl vlmxErrorHelper(bool,enum VLMXErrorCode,char const *,char *)" (?vlmxErrorHelper@@YAX_NW4VLMXErrorCode@@PBDPAD@Z) 中
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mexWarnMsgIdAndTxt,该符号在函数 "void __cdecl vlmxErrorHelper(bool,enum VLMXErrorCode,char const *,char *)" (?vlmxErrorHelper@@YAX_NW4VLMXErrorCode@@PBDPAD@Z)
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mexPrintf,该符号在函数 _mexFunction 中被引用
datamex.obj : error LNK2001: 无法解析的外部符号 _mexPrintf
imread_gdiplus.obj : error LNK2001: 无法解析的外部符号 _mexPrintf
vl_nnconv.obj : error LNK2019: 无法解析的外部符号 _mexAtExit,该符号在函数 _mexFunction 中被引用
datamex.obj : error LNK2019: 无法解析的外部符号 _mxMalloc,该符号在函数 "private: enum vl::ErrorCode __thiscall vl::MexTensor::initHelper(enum vl::DeviceType,enum vl::DataType,class vl::TensorShape const &,bool)"
(?initHelper@MexTensor@vl@
@aae
?AW4ErrorCode@2@W4DeviceType@2@W4DataType@2@ABVTensorShape@2@_N@Z) 中被引用
datamex.obj : error LNK2019: 无法解析的外部符号 _mxGetData,该符号在函数 "public: enum vl::ErrorCode __thiscall vl::MexTensor::init(struct mxArray_tag const *)"
(?init@MexTensor@vl@
@QAE
?AW4ErrorCode@2@PBUmxArray_tag@@
@z
) 中被引用
datamex.obj : error LNK2019: 无法解析的外部符号 _mxSetData,该符号在函数 "private: enum vl::ErrorCode __thiscall vl::MexTensor::initHelper(enum vl::DeviceType,enum vl::DataType,class vl::TensorShape const
&,bool)" (?initHelper@MexTensor@vl@
@aae
?AW4ErrorCode@2@W4DeviceType@2@W4DataType@2@ABVTensorShape@2@_N@Z) 中被引用
datamex.obj : error LNK2019: 无法解析的外部符号 _mxSetDimensions_730,该符号在函数 "private: enum vl::ErrorCode __thiscall vl::MexTensor::initHelper(enum vl::DeviceType,enum vl::DataType,class vl::TensorShape
const &,bool)" (?initHelper@MexTensor@vl@
@aae
?AW4ErrorCode@2@W4DeviceType@2@W4DataType@2@ABVTensorShape@2@_N@Z) 中被引用
datamex.obj : error LNK2019: 无法解析的外部符号 _mxDestroyArray,该符号在函数 "public: __thiscall vl::MexTensor::~MexTensor(void)" (??1MexTensor@vl@
@QAE
@XZ) 中被引用
datamex.obj : error LNK2019: 无法解析的外部符号 _mxCreateNumericArray_730,该符号在函数 "private: enum vl::ErrorCode __thiscall vl::MexTensor::initHelper(enum vl::DeviceType,enum vl::DataType,class
vl::TensorShape const &,bool)" (?initHelper@MexTensor@vl@
@aae
?AW4ErrorCode@2@W4DeviceType@2@W4DataType@2@ABVTensorShape@2@_N@Z) 中被引用
datamex.obj : error LNK2019: 无法解析的外部符号 _mxDuplicateArray,该符号在函数 "public: struct mxArray_tag * __thiscall vl::MexTensor::relinquish(void)" (?relinquish@MexTensor@vl@@QAEPAUmxArray_tag@
@xz
) 中被引用
datamex.obj : error LNK2019: 无法解析的外部符号 _mexErrMsgTxt,该符号在函数 "public: enum vl::ErrorCode __thiscall vl::MexTensor::init(struct mxArray_tag const *)"
(?init@MexTensor@vl@
@QAE
?AW4ErrorCode@2@PBUmxArray_tag@@
@z
) 中被引用
datamex.obj : error LNK2019: 无法解析的外部符号 _mexMakeArrayPersistent,该符号在函数 "public: void __thiscall vl::MexTensor::makePersistent(void)" (?makePersistent@MexTensor@vl@@QAEXXZ) 中被引用
nnconv.obj : error LNK2019: 无法解析的外部符号 _dgemm,该符号在函数 "public: enum vl::ErrorCode __thiscall ConvolutionBackward<0,2>::operator()(class vl::nn::Convolution &,class vl::Tensor &,class vl::Tensor
&,class vl::Tensor &,class vl::Tensor const &,class vl::Tensor const &,class vl::Tensor const &)" (??R?$ConvolutionBackward@$0A@$01@
@QAE
?AW4ErrorCode@vl@@AAVConvolution@nn@2@AAVTensor@2@11ABV52@22@Z) 中被引
nnfullyconnected.obj : error LNK2001: 无法解析的外部符号 _dgemm
nnsubsample.obj : error LNK2001: 无法解析的外部符号 _dgemm
nnbias.obj : error LNK2001: 无法解析的外部符号 _dgemm
nnconv.obj : error LNK2019: 无法解析的外部符号 _dgemv,该符号在函数 "public: enum vl::ErrorCode __thiscall ConvolutionBackward<0,2>::operator()(class vl::nn::Convolution &,class vl::Tensor &,class vl::Tensor
&,class vl::Tensor &,class vl::Tensor const &,class vl::Tensor const &,class vl::Tensor const &)" (??R?$ConvolutionBackward@$0A@$01@
@QAE
?AW4ErrorCode@vl@@AAVConvolution@nn@2@AAVTensor@2@11ABV52@22@Z) 中被引
nnfullyconnected.obj : error LNK2001: 无法解析的外部符号 _dgemv
nnsubsample.obj : error LNK2001: 无法解析的外部符号 _dgemv
nnbias.obj : error LNK2001: 无法解析的外部符号 _dgemv
nnconv.obj : error LNK2019: 无法解析的外部符号 _sgemm,该符号在函数 "public: enum vl::ErrorCode __thiscall ConvolutionBackward<0,1>::operator()(class vl::nn::Convolution &,class vl::Tensor &,class vl::Tensor
&,class vl::Tensor &,class vl::Tensor const &,class vl::Tensor const &,class vl::Tensor const &)" (??R?$ConvolutionBackward@$0A@$00@
@QAE
?AW4ErrorCode@vl@@AAVConvolution@nn@2@AAVTensor@2@11ABV52@22@Z) 中被引
nnfullyconnected.obj : error LNK2001: 无法解析的外部符号 _sgemm
nnsubsample.obj : error LNK2001: 无法解析的外部符号 _sgemm
nnbias.obj : error LNK2001: 无法解析的外部符号 _sgemm
nnconv.obj : error LNK2019: 无法解析的外部符号 _sgemv,该符号在函数 "public: enum vl::ErrorCode __thiscall ConvolutionBackward<0,1>::operator()(class vl::nn::Convolution &,class vl::Tensor &,class vl::Tensor
&,class vl::Tensor &,class vl::Tensor const &,class vl::Tensor const &,class vl::Tensor const &)" (??R?$ConvolutionBackward@$0A@$00@
@QAE
?AW4ErrorCode@vl@@AAVConvolution@nn@2@AAVTensor@2@11ABV52@22@Z) 中被引
nnfullyconnected.obj : error LNK2001: 无法解析的外部符号 _sgemv
nnsubsample.obj : error LNK2001: 无法解析的外部符号 _sgemv
nnbias.obj : error LNK2001: 无法解析的外部符号 _sgemv
nnbias.obj : error LNK2019: 无法解析的外部符号 _daxpy,该符号在函数 "public: enum vl::ErrorCode __thiscall BiasBackward<0,2>::operator()(class vl::nn::Bias &,class vl::Tensor &,double,class vl::Tensor
&,double,double,double,class vl::Tensor const &)" (??R?$BiasBackward@$0A@$01@
@QAE
?AW4ErrorCode@vl@@AAVBias@nn@2@AAVTensor@2@N1NNNABV52@
@z
) 中被引用
nnbias.obj : error LNK2019: 无法解析的外部符号 _saxpy,该符号在函数 "public: enum vl::ErrorCode __thiscall BiasBackward<0,1>::operator()(class vl::nn::Bias &,class vl::Tensor &,double,class vl::Tensor
&,double,double,double,class vl::Tensor const &)" (??R?$BiasBackward@$0A@$00@
@QAE
?AW4ErrorCode@vl@@AAVBias@nn@2@AAVTensor@2@N1NNNABV52@
@z
) 中被引用
D:\Program Files\MATLAB\R2015b\extern\lib\win64\microsoft\libmwblas.lib : warning LNK4272:库计算机类型“x64”与目标计算机类型“X86”冲突
D:\Program Files\MATLAB\R2015b\extern\lib\win64\microsoft\libmx.lib : warning LNK4272:库计算机类型“x64”与目标计算机类型“X86”冲突
D:\Program Files\MATLAB\R2015b\extern\lib\win64\microsoft\libmex.lib : warning LNK4272:库计算机类型“x64”与目标计算机类型“X86”冲突
D:\Program Files\MATLAB\R2015b\extern\lib\win64\microsoft\libmat.lib : warning LNK4272:库计算机类型“x64”与目标计算机类型“X86”冲突
C:\Users\HelloWorld\Desktop\super\matconvnet-master\matlab\mex\vl_nnconv.mexw32 : fatal error LNK1120: 32 个无法解析的外部命令
出错 vl_compilenn>mex_link (line 627)
mex(args{:}) ;
Nice for your reply , now I've used the R2015b_glnxa64 in Ubuntu 16.04 , and error during compiling is
_"vl_imreadjpeg.cpp:(.text+0x5f4): undefined reference to
`__warn_memset_zero_len'
collect2: error: ld returned 1 exit status
Error in vl_compilenn>mex_link (line 627)
mex(args{:}) ;
Error in vl_compilenn (line 500)
mex_link(opts, objs, flags.mex_dir, flags) ;"_
And the gcc used is gcc-4.7.4 ,could you help to solve this problem
Meanwihle , If I change to use gcc-5 , MEX completed successfully;
Warning: You are using gcc version '5.4.0'. The version of gcc
is not supported. The version currently supported with MEX is
'4.7.x'.
But when I use the demo
net = load('/home/shine/Downloads/imagenet-vgg-m-2048.mat');
im = imread('/home/shine/Downloads/matconvnet-master/examples/peppers.png');
im_ = single(im);
im_ = imresize(im_,net.meta.normalization.imageSize(1:2));
im_ = im_ - net.meta.normalization.averageImage;
res = vl_simplenn(net,im_);
y = res(end).x;
x = gather(res(end).x);
score = squeeze(gather(res(end).x));
[bestScore, best] = max(score);
figure(1);
imshow(im);
title(sprintf('%s %d,%.3f',net.meta.classes.description{best},best,bestScore));`
the error returned to be
/home/shine/Downloads/matconvnet-master/matlab/vl_nnconv.m
Error in vl_simplenn (line 300)
res(i+1).x = vl_nnconv(res(i).x, l.weights{1},
l.weights{2}, ...
Error in recogn (line 7)
res = vl_simplenn(net,im_);
@Firststep2014
I advice that you can copy these mex_opts into the \bin\win64\mexopts folder.
It worked for windows operating system.
msvcpp2015.zip