我正在尝试使用this guide在运行Buster (2019年7月)的Raspberry Pi 3 Model B上安装OpenCV。在运行make -j4命令后,我最终遇到了以下错误。
/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to `__atomic_fetch_sub_8'
/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to `__atomic_store_8'
/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to `__atomic_load_8'
/usr/bin/ld: ../../lib/libopencv_core.so.4.1.1: undefined reference to `__atomic_compare_exchange_8'
collect2: error: ld returned 1 exit status
make[2]: *** [modules/core/CMakeFiles/opencv_test_core.dir/build.make:571: bin/opencv_test_core] Error 1
make[1]: *** [CMakeFiles/Makefile2:1459:modules/core/CMakeFiles/opencv_test_core.dir/all] Error 2
make: *** [Makefile:163: all] Error 2我的CMake命令是:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=$cwd/installation/OpenCV-"$cvVersion" \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D OPENCV_PYTHON3_INSTALL_PATH=$cwd/OpenCV-$cvVersion-py3/lib/python3.5/site-packages \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..到目前为止,我已经运行了make clean和make,看看单个核心安装是否有帮助。如果有的话,我会更新这篇文章。但是,如果不是这样,有谁知道如何解决这个错误?
编辑:在make clean和make之后,错误仍然发生
发布于 2019-08-09 17:08:37
这里也提出了这个问题https://github.com/opencv/opencv/issues/15192
作为一种解决方法,可以尝试使用cmake选项:-DOPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic
您可以在此处找到示例脚本https://gist.github.com/willprice/abe456f5f74aa95d7e0bb81d5a710b60
编辑:我不得不用LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1.2.0 python3调用python
为了导入cv2
https://stackoverflow.com/questions/57271607
复制相似问题