mbp:cpp tianzhaixing$ g++ -ggdb `pkg-config --cflags --libs opencv3` opencv_version.cpp -o /tmp/opencv_version && /tmp/opencv_version
Error1
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /usr/local/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Undefined symbols for architecture x86_64:
"cv::CommandLineParser::CommandLineParser(int, char const* const*, cv::String const&)", referenced from:
_main in opencv_version-d49038.o
"cv::CommandLineParser::~CommandLineParser()", referenced from:
_main in opencv_version-d49038.o
"cv::getBuildInformation()", referenced from:
_main in opencv_version-d49038.o
"cv::String::deallocate()", referenced from:
cv::String::~String() in opencv_version-d49038.o
"cv::String::allocate(unsigned long)", referenced from:
cv::String::String(char const*) in opencv_version-d49038.o
"cv::CommandLineParser::printErrors() const", referenced from:
_main in opencv_version-d49038.o
"cv::CommandLineParser::printMessage() const", referenced from:
_main in opencv_version-d49038.o
"cv::CommandLineParser::has(cv::String const&) const", referenced from:
_main in opencv_version-d49038.o
"cv::CommandLineParser::check() const", referenced from:
_main in opencv_version-d49038.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Solution1:
mbp:~ tianzhaixing$ vim ~/.bash_profile
export DYLD_LIBRARY_PATH=/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/:$DYLD_LIBRARY_PATH
map:~ tianzhaixing$ source .bash_profile
Error2
ld: library not found for -lippicv
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Solution2
step first:
mbp:~ tianzhaixing$ cp /usr/local/share/OpenCV/3rdparty/lib/libippicv.a /usr/local/lib/
step second:
mbp:~ tianzhaixing$ cd /usr/local/lib
mbp:lib tianzhaixing$ chmod a+x libippicv.a
step third:
mbp:~ tianzhaixing$ vim ~/.bash_profile
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib
map:~ tianzhaixing$ source .bash_profile
Result
mbp:~ tianzhaixing$ cd ~/bin/opencv/opencv-3.1.0/samples/cpp/
mbp:cpp tianzhaixing$ clear
mbp:cpp tianzhaixing$ g++ -ggdb `pkg-config --cflags --libs opencv3` opencv_version.cpp -o /tmp/opencv_version && /tmp/opencv_version
Welcome to OpenCV 3.1.0
mbp:cpp tianzhaixing$