opencv ------ 交叉编译

 

错误:

D:\opencv-4.5.1\modules\core\include/opencv2/core/utility.hpp:706:14: error: 'recursive_mutex' in namespace 'std' does not name a type
  706 | typedef std::recursive_mutex Mutex;

opencv源码使用了C++11多线程的一些功能,只有线程模型是 posix 才支持c++11多线程

Thread model: single 

Thread model: posix

Thread model: win32

 

 

 toolchain file for cross-compiling

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR riscv64)

set(RISCV_GCC_INSTALL_ROOT D:/K210/opt/toolchain)
set(CMAKE_SYSROOT ${RISCV_GCC_INSTALL_ROOT}/riscv-none-embed)

set(CMAKE_C_COMPILER ${RISCV_GCC_INSTALL_ROOT}/bin/riscv-none-embed-gcc.exe)
set(CMAKE_CXX_COMPILER ${RISCV_GCC_INSTALL_ROOT}/bin/riscv-none-embed-g++.exe)

set(CMAKE_C_FLAGS "--specs=nosys.specs")
set(CMAKE_CXX_FLAGS "--specs=nosys.specs")


set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

 

 

 

 

 参考链接:

 

https://blog.csdn.net/sanallen/article/details/81227182

 

posted @ 2021-04-02 17:54  流水灯  阅读(6)  评论(0编辑  收藏  举报