gpt4 book ai didi

c++ - 编译错误 : undefined reference to‘__atomic_fetch_add_4’

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:22:05 26 4
gpt4 key购买 nike

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

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

然后我编译它:

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

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

这给了我:

/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 status

我在 VM 中的 ubuntu 14.04 终端中使用 opencv 3.1.0!

最佳答案

在 i386 上,您需要添加 -latomic,因为 GCC 不能使用汇编指令,但必须回退到 libatomic 库实现。

从 i586 开始,原子指令可用,不再需要链接到 libatomic。这意味着,-latomic 的替代方案是使用 -march=i586

关于c++ - 编译错误 : undefined reference to‘__atomic_fetch_add_4’,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35884832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com