I am trying to write code that uses openCV functions. I started by using some sample code in the documentation:
#include <opencv2/core/core.hpp>
When I try to create it in Eclipse-CDT, I get the following:
**** Build of configuration Debug for project openCV1 **** make all Building target: openCV1 Invoking: Cross G++ Linker g++ -L/usr/local/lib -o "openCV1" ./src/displayImage.o ./src/displayImage.o: In function `main': /home/jackstinger/workspace1/openCV1/Debug/../src/displayImage.cpp:25: undefined reference to `cv::imread(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' /home/jackstinger/workspace1/openCV1/Debug/../src/displayImage.cpp:33: undefined reference to `cv::namedWindow(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' /home/jackstinger/workspace1/openCV1/Debug/../src/displayImage.cpp:34: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)' /home/jackstinger/workspace1/openCV1/Debug/../src/displayImage.cpp:34: undefined reference to `cv::imshow(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)' /home/jackstinger/workspace1/openCV1/Debug/../src/displayImage.cpp:36: undefined reference to `cv::waitKey(int)' ./src/displayImage.o: In function `~Mat': /usr/local/include/opencv2/core/mat.hpp:278: undefined reference to `cv::fastFree(void*)' ./src/displayImage.o: In function `cv::Mat::operator=(cv::Mat const&)': /usr/local/include/opencv2/core/mat.hpp:298: undefined reference to `cv::Mat::copySize(cv::Mat const&)' ./src/displayImage.o: In function `cv::Mat::release()': /usr/local/include/opencv2/core/mat.hpp:367: undefined reference to `cv::Mat::deallocate()' collect2: ld returned 1 exit status make: *** [openCV1] Error 1 **** Build Finished ****
The same code when I build with g ++ ( g++ -o displayImageInput displayImageInput.cpp pkg-config opencv --cflags -libs) works.
Then I changed the code to gray out,
#include <opencv2/core/core.hpp>
When building with g ++, the following error occurred:
dispImgSobel.cpp: In function 'int main(int, char**)': dispImgSobel.cpp:34:27: error: 'CV_BGR2GRAY' was not declared in this scope dispImgSobel.cpp:34:38: error: 'cvtColor' was not declared in this scope
I need help with two things: how to make it work in Eclipse, and secondly, how to resolve this area error, for this and future use cases.
source share