Compilation error: undefined reference to '__ atomic_fetch_add_4

#include <opencv2/opencv.hpp>
using namespace cv;

int main()
{
  Mat img=imread("cornea.jpg");
  imshow("src",img);
  waitKey(0);
  return 0;
}

And I will compile it with

g++ main.cpp -o main `pkg-config opencv --cflags --libs`

or

g++ main.cpp -o main -I/usr/local/opencv-3.1.0/include/opencv -I/usr/local/opencv-3.1.0/include -L/usr/local/opencv-3.1.0/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core -lpng -lz -ltiff -ljasper -ljpeg -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lfreetype -lgthread-2.0 -lglib-2.0 -ldc1394 -lv4l1 -lv4l2 -lavcodec -lavformat -lavutil -lswscale -ldl -lm -lpthread -lrt

What gives me:

/tmp/ccoZCMRO.o:in function'cv :: Mat :: release (): main.cpp :(. text._ZN2cv3Mat7releaseEv [_ZN2cv3Mat7releaseEv] + 0x22): undefined reference to '__ atomic_fetch_add_4
collect2: error: ld returned 1 exit

I am using opencv 3.1.0 in ubuntu 14.04 terminal in VM!

+4
source share
3 answers

, Debug Release OpenCV. https://github.com/Itseez/opencv/issues/5581 , Debug, .

double include -cflags -I /usr/local/include/opencv. pkg-config --cflags --libs opencv ( Release).

, /usr/local/include - . -nostdinc https://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html

- .

0

i386 -latomic, GCC , libatomic.

i586, libatomic . , -latomic -march=i586.

0

, .

-latomic

GCC.

: CLang 8 ARMv7 (Android).

0

All Articles