dyld: Symbol not found: __cg_jpeg_resync_to_restart

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$

你可能感兴趣的:(opencv,g++)