我目前正在ordre中安装OpenCV3.4.4,以将其与Code :: Blocks结合使用。我使用CMake GUI配置和生成二进制文件。
但是当我使用'mingw32-make'完成安装时,关于strnlen发生错误,显然没有定义。我收到以下消息:
” C:\ opencv \ sources \ modules \ core \ src \ persistence.cpp:在函数'char * icvGets(CvFileStorage *,char *,int)'中: C:\ opencv \ sources \ modules \ core \ src \ persistence.cpp:71:46:错误:未在此范围内声明'strnlen' size_t sz = strnlen(ptr,maxCount); ^ C:\ opencv \ sources \ modules \ core \ src \ persistence.cpp:82:46:错误:未在此范围内声明'strnlen' size_t sz = strnlen(ptr,maxCount); ^ modules \ core \ CMakeFiles \ opencv_core.dir \ build.make:901:目标'modules / core / CMakeFiles / opencv_core.dir / src / persistence.cpp.obj'的配方失败 mingw32-make [2]: * [modules / core / CMakeFiles / opencv_core.dir / src / persistence.cpp.obj]错误1 CMakeFiles \ Makefile2:1671:目标'模块/核心/CMakeFiles/opencv_core.dir/all'的配方失败 mingw32-make [1]:* [modules / core / CMakeFiles / opencv_core.dir / all]错误2 Makefile:161:目标“全部”的配方失败 mingw32-make:*** [全部]错误2“
”
我读过其他论坛,要求更改CMake GUI中的某些变量,但是对于其他问题,我没有成功找到与我相同的变量。我希望有人能帮助我。谢谢
答案 0 :(得分:0)
如果这对您有用,则可以使用MinGW32编译OpenCV 3.1.0。
我无法使用MinGW32编译OpenCV3.4.7(我认为这种向后兼容性已被放弃),但是我成功地使用MinGW64编译了OpenCV3.4.7。