Error using mex MxArray.cpp error C2440
Show older comments
Hello,
Im trying to load OpenCV into Matlab and I get this msg:
Error using mex
MxArray.cpp
C:\dev\mexopencv\include\MxArray.hpp(386): error C2440 :cannot convert from 'viod *' to 'int *'
Void cannot be converted to other types - (translation from Polish)
I've been using this webside as a guide:
I used the OpenCV-master, OpenCV_contrib-master, mexopencv-master files as my source data. Despite not everything being to shown to deselect in Cmake (Configure OpenCV step 4 in the link), I was able to finish Visual Studio Build without any misteakes. Mex is set for VisualStudio2017.
The whole thing goes like this:
>> cd('C:\dev\mexopencv')
>> mexopencv.make('opencv_path','C:\dev\build\install', 'opencv_contrib',true)
mex -O -largeArrayDims -I'C:\dev\mexopencv\include' -I'C:\dev\mexopencv\opencv_contrib\include' -I'C:\dev\build\install\include' -L'C:\dev\build\install\x64\vc15\lib' -lopencv_aruco401 -lopencv_bgsegm401 -lopencv_bioinspired401 -lopencv_calib3d401 -lopencv_ccalib401 -lopencv_core401 -lopencv_datasets401 -lopencv_dnn401 -lopencv_dnn_objdetect401 -lopencv_dpm401 -lopencv_face401 -lopencv_features2d401 -lopencv_flann401 -lopencv_fuzzy401 -lopencv_gapi401 -lopencv_hfs401 -lopencv_highgui401 -lopencv_img_hash401 -lopencv_imgcodecs401 -lopencv_imgproc401 -lopencv_line_descriptor401 -lopencv_ml401 -lopencv_objdetect401 -lopencv_optflow401 -lopencv_phase_unwrapping401 -lopencv_photo401 -lopencv_plot401 -lopencv_quality401 -lopencv_reg401 -lopencv_rgbd401 -lopencv_saliency401 -lopencv_shape401 -lopencv_stereo401 -lopencv_stitching401 -lopencv_structured_light401 -lopencv_superres401 -lopencv_surface_matching401 -lopencv_text401 -lopencv_tracking401 -lopencv_video401 -lopencv_videoio401 -lopencv_videostab401 -lopencv_xfeatures2d401 -lopencv_ximgproc401 -lopencv_xobjdetect401 -lopencv_xphoto401 -c 'C:\dev\mexopencv\src\MxArray.cpp' -outdir 'C:\dev\mexopencv\lib'
Building with 'Microsoft Visual C++ 2017'.
Error using mex
MxArray.cpp
C:\dev\mexopencv\include\MxArray.hpp(386): error C2440: "domyśny argument": nie można konwertować z "void" na "int"
C:\dev\mexopencv\include\MxArray.hpp(386): note: Wyrażenia typu void nie mogą być konwertowane na inne typy
C:\dev\mexopencv\include\MxArray.hpp(413): error C2440: "domyśny argument": nie można konwertować z "void" na "int"
C:\dev\mexopencv\include\MxArray.hpp(413): note: Wyrażenia typu void nie mogą być konwertowane na inne typy
C:\dev\mexopencv\include\MxArray.hpp(421): error C2440: "domyśny argument": nie można konwertować z "void" na "int"
C:\dev\mexopencv\include\MxArray.hpp(421): note: Wyrażenia typu void nie mogą być konwertowane na inne typy
C:\dev\mexopencv\src\MxArray.cpp(96): error C3861: "cvErrorStr": identyfikatora nie odnaleziono
C:\dev\mexopencv\src\MxArray.cpp(229): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(232): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(248): warning C4267: "inicjowanie": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(545): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(554): error C2120: Słowo kluczowe "void" jest niedozwolone ze wszystkimi typami
C:\dev\mexopencv\src\MxArray.cpp(556): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(567): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(608): error C2065: "CV_MAX_DIM": niezadeklarowany identyfikator
C:\dev\mexopencv\src\MxArray.cpp(615): warning C4267: "inicjowanie": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(632): error C2120: Sowo kluczowe "void" jest niedozwolone ze wszystkimi typami
C:\dev\mexopencv\src\MxArray.cpp(633): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(639): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(659): error C2120: Słowo kluczowe "void" jest niedozwolone ze wszystkimi typami
C:\dev\mexopencv\src\MxArray.cpp(680): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(683): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(686): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(689): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(692): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(695): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(698): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
C:\dev\mexopencv\src\MxArray.cpp(808): warning C4267: "argument": konwersja z "size_t" do "int", możliwa utrata danych
Error in mexopencv.make (line 97)
if ~opts.dryrun, eval(cmd); end
Answers (1)
Lukas Strobel
on 29 May 2019
0 votes
I have the same problem
Categories
Find more on OpenCV Support in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!