我通过自制程序在 Mac OS X high Sierra(10.13.3) 中下载了 GCC 和 opencv(3.4.1_2)。
$ g++ --version
g++-7 (Homebrew GCC 7.3.0_1) 7.3.0
Run Code Online (Sandbox Code Playgroud)
在我的“opencvtest.cpp”中,cv::imwrite被视为体系结构的未定义符号,但其他函数(例如 cv::imread、cv::namedWindow)工作得很好。
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgcodecs.hpp"
#include <iostream>
using namespace cv;
int main( int argc, char** argv ) {
Mat img = imread( argv[1], -1 );
if( img.empty() ) return -1;
namedWindow( "Example1", cv::WINDOW_AUTOSIZE );
imshow( "Example1", img );
imwrite("Example1.jpg", img); //<-- error
waitKey( 0 );
destroyWindow( "Example1" );
}
Run Code Online (Sandbox Code Playgroud)
Makefile 写为:
CC = g++
CFLAGS = -g …Run Code Online (Sandbox Code Playgroud)