Eyescale/Equalizer

[Solved]Building MacOS conversion error: const cv::Mat frame = cvQueryFrame(capture_);

loening opened this issue · 1 comments

frankie:build Dening$ ninja

[331/596] [BISON][PARSER] Building parser with bison 2.3

loader.y: conflicts: 49 shift/reduce

[348/596] Building CXX object eq/CMake...s/Equalizer.dir/detail/cvTracker.cpp.o

FAILED: eq/CMakeFiles/Equalizer.dir/detail/cvTracker.cpp.o

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBoost_NO_BOOST_CMAKE -DDarwin -DDarwin=1 -DEQUALIZERFABRIC_SHARED_INL -DEQUALIZER_DSO_NAME="libEqualizer.2.1.0.dylib" -DEQUALIZER_LITTLEENDIAN=1 -DEQUALIZER_SHARED -DEQUALIZER_USE_BISON=1 -DEQUALIZER_USE_BOOST=1 -DEQUALIZER_USE_COLLAGE=1 -DEQUALIZER_USE_CXX11=1 -DEQUALIZER_USE_FLEX=1 -DEQUALIZER_USE_GLSTATS=1 -DEQUALIZER_USE_HWSD=1 -DEQUALIZER_USE_LUNCHBOX=1 -DEQUALIZER_USE_OPENCV=1 -DEQUALIZER_USE_OPENGL=1 -DEQUALIZER_USE_PRESSION=1 -DEQUALIZER_USE_VMMLIB=1 -DEQUALIZER_USE_X11=1 -DEQ_1_0_API=1 -DEQ_BUILD_DIR="/Users/Dening/Desktop/Project/Equalizer/MacOS/Equalizer/build/" -DEQ_GLEW_INTERNAL=1 -DEQ_GLX_USED=1 -DEqualizer_EXPORTS -DGLEW_APPLE_GLX=1 -DGLEW_BUILD=1 -DGLEW_MX=1 -DGLEW_NO_GLU -DGLEW_NO_GLU=1 -DGLX=1 -DOPENCV_INSTALL_PATH="/usr/local" -DWARN_DEPRECATED -isystem include/eq -isystem /usr/X11R6/include -isystem /usr/local/include -isystem /opt/X11/include -I/usr/local/Cellar/hwloc/1.11.8/include -I/usr/include/libxml2 -isystem /usr/local/include/opencv -I../ -Iinclude -I. -I../Lunchbox -ILunchbox/include -ILunchbox -I../Servus -IServus/include -IServus -I../Collage -ICollage/include -ICollage -I../Pression -IPression/include -IPression -I../vmmlib -Ivmmlib/include -Ivmmlib -I../hwsd -Ihwsd/include -Ihwsd -I../GLStats -IGLStats/include -IGLStats -g -arch x86_64 -fPIC -Wnon-virtual-dtor -Wsign-promo -Wvla -fno-strict-aliasing -Wall -Wextra -Winvalid-pch -Winit-self -Wno-unknown-pragmas -Wshadow -Werror -Qunused-arguments -ferror-limit=5 -ftemplate-depth-1024 -Wheader-hygiene -Wno-overloaded-virtual -std=gnu++11 -MD -MT eq/CMakeFiles/Equalizer.dir/detail/cvTracker.cpp.o -MF eq/CMakeFiles/Equalizer.dir/detail/cvTracker.cpp.o.d -o eq/CMakeFiles/Equalizer.dir/detail/cvTracker.cpp.o -c ../eq/detail/cvTracker.cpp

../eq/detail/cvTracker.cpp:111:23: error: no viable conversion from 'IplImage *' (aka '_IplImage *') to 'const cv::Mat'

    const cv::Mat frame = cvQueryFrame(capture_); 

                  ^       ~~~~~~~~~~~~~~~~~~~~~~ 

/usr/local/include/opencv2/core/mat.inl.hpp:476:6: note: candidate constructor not viable: no known conversion from 'IplImage *' (aka '_IplImage *') to 'const cv::Mat &' for 1st argument

Mat::Mat(const Mat& m)

 ^ 

/usr/local/include/opencv2/core/mat.inl.hpp:1335:6: note: candidate constructor not viable: no known conversion from 'IplImage *' (aka '_IplImage *') to 'cv::Mat &&' for 1st argument

Mat::Mat(Mat&& m)

 ^ 

1 error generated.

[353/596] Building CXX object eq/CMakeFiles/Equalizer.dir/frameData.cpp.o

ninja: build stopped: subcommand failed.

Using cv::cvaarToMat that converts IpLLmage to Mat can solve the error.

Using cv::cvarrToMat that converts IplImage to Mat can solve the error.