OpenCV的建设为Android从主干 [英] Building OpenCV for Android from trunk

查看:395
本文介绍了OpenCV的建设为Android从主干的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HTTP找到教程://$c$c.opencv .ORG /项目/ OpenCV的/维基/ Building_OpenCV4Android_from_trunk
我遇到的问题的CMake

当我运行命令cmake的-DCMAKE_TOOLCHAIN​​_FILE = .. \\机器人\\ android.toolchain.cmake ....从build_android_arm文件夹中,我得到了一大堆故障,然后配置失败:

  B:\\ Android的\\工作区\\ OpenCV的\\平台\\ build_android_arm> cmake的-DCMAKE_TOOLCHAIN​​_
FILE = .. \\机器人\\ android.toolchain.cmake .. \\ ..
- 建筑物为:的Visual Studio 2013 12
- 检测到GNU GCC版本:48(408)
- 执行测试HAVE_CXX_FSIGNED_CHAR
- 执行测试HAVE_CXX_FSIGNED_CHAR - 失败
- 执行测试HAVE_C_FSIGNED_CHAR
- 执行测试HAVE_C_FSIGNED_CHAR - 失败
- 执行测试HAVE_CXX_W
- 执行测试HAVE_CXX_W - 失败
- 执行测试HAVE_C_W
- 执行测试HAVE_C_W - 失败
- 执行测试HAVE_CXX_WALL
- 执行测试HAVE_CXX_WALL - 失败
- 执行测试HAVE_C_WALL
- 执行测试HAVE_C_WALL - 失败
- 执行测试HAVE_CXX_WERROR_RETURN_TYPE
- 执行测试HAVE_CXX_WERROR_RETURN_TYPE - 失败
- 执行测试HAVE_C_WERROR_RETURN_TYPE
- 执行测试HAVE_C_WERROR_RETURN_TYPE - 失败
- 执行测试HAVE_CXX_WERROR_NON_VIRTUAL_DTOR
- 执行测试HAVE_CXX_WERROR_NON_VIRTUAL_DTOR - 失败
- 执行测试HAVE_C_WERROR_NON_VIRTUAL_DTOR
- 执行测试HAVE_C_WERROR_NON_VIRTUAL_DTOR - 失败
- 执行测试HAVE_CXX_WERROR_ADDRESS
- 执行测试HAVE_CXX_WERROR_ADDRESS - 失败
- 执行测试HAVE_C_WERROR_ADDRESS
- 执行测试HAVE_C_WERROR_ADDRESS - 失败
- 执行测试HAVE_CXX_WERROR_SEQUENCE_POINT
- 执行测试HAVE_CXX_WERROR_SEQUENCE_POINT - 失败
- 执行测试HAVE_C_WERROR_SEQUENCE_POINT
- 执行测试HAVE_C_WERROR_SEQUENCE_POINT - 失败
- 执行测试HAVE_CXX_WFORMAT
- 执行测试HAVE_CXX_WFORMAT - 失败
- 执行测试HAVE_C_WFORMAT
- 执行测试HAVE_C_WFORMAT - 失败
- 执行测试HAVE_CXX_WERROR_FORMAT_SECURITY
- 执行测试HAVE_CXX_WERROR_FORMAT_SECURITY - 失败
- 执行测试HAVE_C_WERROR_FORMAT_SECURITY
- 执行测试HAVE_C_WERROR_FORMAT_SECURITY - 失败
- 执行测试HAVE_CXX_WMISSING_DECLARATIONS
- 执行测试HAVE_CXX_WMISSING_DECLARATIONS - 失败
- 执行测试HAVE_C_WMISSING_DECLARATIONS
- 执行测试HAVE_C_WMISSING_DECLARATIONS - 失败
- 执行测试HAVE_CXX_WMISSING_PROTOTYPES
- 执行测试HAVE_CXX_WMISSING_PROTOTYPES - 失败
- 执行测试HAVE_C_WMISSING_PROTOTYPES
- 执行测试HAVE_C_WMISSING_PROTOTYPES - 失败
- 执行测试HAVE_CXX_WSTRICT_PROTOTYPES
- 执行测试HAVE_CXX_WSTRICT_PROTOTYPES - 失败
- 执行测试HAVE_C_WSTRICT_PROTOTYPES
- 执行测试HAVE_C_WSTRICT_PROTOTYPES - 失败
- 执行测试HAVE_CXX_WUNDEF
- 执行测试HAVE_CXX_WUNDEF - 失败
- 执行测试HAVE_C_WUNDEF
- 执行测试HAVE_C_WUNDEF - 失败
- 执行测试HAVE_CXX_WINIT_SELF
- 执行测试HAVE_CXX_WINIT_SELF - 失败
- 执行测试HAVE_C_WINIT_SELF
- 执行测试HAVE_C_WINIT_SELF - 失败
- 执行测试HAVE_CXX_WPOINTER_ARITH
- 执行测试HAVE_CXX_WPOINTER_ARITH - 失败
- 执行测试HAVE_C_WPOINTER_ARITH
- 执行测试HAVE_C_WPOINTER_ARITH - 失败
- 执行测试HAVE_CXX_WSHADOW
- 执行测试HAVE_CXX_WSHADOW - 失败
- 执行测试HAVE_C_WSHADOW
- 执行测试HAVE_C_WSHADOW - 失败
- 执行测试HAVE_CXX_WSIGN_PROMO
- 执行测试HAVE_CXX_WSIGN_PROMO - 失败
- 执行测试HAVE_C_WSIGN_PROMO
- 执行测试HAVE_C_WSIGN_PROMO - 失败
- 执行测试HAVE_CXX_WNO_NARROWING
- 执行测试HAVE_CXX_WNO_NARROWING - 失败
- 执行测试HAVE_C_WNO_NARROWING
- 执行测试HAVE_C_WNO_NARROWING - 失败
- 执行测试HAVE_CXX_WNO_DELETE_NON_VIRTUAL_DTOR
- 执行测试HAVE_CXX_WNO_DELETE_NON_VIRTUAL_DTOR - 失败
- 执行测试HAVE_C_WNO_DELETE_NON_VIRTUAL_DTOR
- 执行测试HAVE_C_WNO_DELETE_NON_VIRTUAL_DTOR - 失败
- 执行测试HAVE_CXX_WNO_UNNAMED_TYPE_TEMPLATE_ARGS
- 执行测试HAVE_CXX_WNO_UNNAMED_TYPE_TEMPLATE_ARGS - 失败
- 执行测试HAVE_C_WNO_UNNAMED_TYPE_TEMPLATE_ARGS
- 执行测试HAVE_C_WNO_UNNAMED_TYPE_TEMPLATE_ARGS - 失败
- 执行测试HAVE_CXX_FDIAGNOSTICS_SHOW_OPTION
- 执行测试HAVE_CXX_FDIAGNOSTICS_SHOW_OPTION - 失败
- 执行测试HAVE_C_FDIAGNOSTICS_SHOW_OPTION
- 执行测试HAVE_C_FDIAGNOSTICS_SHOW_OPTION - 失败
- 执行测试HAVE_CXX_FOMIT_FRAME_POINTER
- 执行测试HAVE_CXX_FOMIT_FRAME_POINTER - 失败
- 执行测试HAVE_C_FOMIT_FRAME_POINTER
- 执行测试HAVE_C_FOMIT_FRAME_POINTER - 失败
- 执行测试HAVE_CXX_FVISIBILITY_HIDDEN
- 执行测试HAVE_CXX_FVISIBILITY_HIDDEN - 失败
- 执行测试HAVE_C_FVISIBILITY_HIDDEN
- 执行测试HAVE_C_FVISIBILITY_HIDDEN - 失败
- 执行测试HAVE_CXX_FVISIBILITY_INLINES_HIDDEN
- 执行测试HAVE_CXX_FVISIBILITY_INLINES_HIDDEN - 失败
- 执行测试HAVE_C_FVISIBILITY_INLINES_HIDDEN
- 执行测试HAVE_C_FVISIBILITY_INLINES_HIDDEN - 失败
- 寻找pthreads.h中
- 寻找pthreads.h中 - 未找到
- 检查系统是大端
- 寻找16位整数
- 寻找SYS / types.h中
- 寻找SYS / types.h中 - 未找到
- 寻找stdint.h
- 寻找stdint.h - 未找到
- 寻找STDDEF.H
- 寻找STDDEF.H - 未找到
- 检查无符号短的大小
- 检查无符号短的大小 - 失败
- 检查unsigned int型的大小
- 检查unsigned int型的大小 - 失败
- 检查无符号长的大小
- 检查无符号长的大小 - 失败
位于C CMake的错误:/ Program Files文件(x86)的/CMake/share/cmake-3.0/Modules/TestBigEndia
n.cmake:51(消息):
  找不到合适的类型
(第一最近一次调用)调用堆栈:
  的CMakeLists.txt:439(test_big_endian)
- 不完整的配置,错误发生!
另请参阅B:/ Android的/工作区/ OpenCV的/平台/ build_android_arm / CMakeFiles /大犬
keOutput.log。
另请参阅B:/ Android的/工作区/ OpenCV的/平台/ build_android_arm / CMakeFiles /大犬
keError.log。

错误日志大多报道

 构建失败。\"B:\\Android\\Workspace\\OpenCV\\platforms\\build_android_arm\\CMakeFiles\\CMakeTmp\\cmTryCompileExec2294351403.vcxproj\" (默认目标)(1) - >(ClCompile目标) -  GT;  CL:命令行错误D8021:无效的数字参数/ WNO-psabi [B:\\Android\\Workspace\\OpenCV\\platforms\\build_android_arm\\CMakeFiles\\CMakeTmp\\cmTryCompileExec2294351403.vcxproj]    0警告(S)    1个错误经过时间00:00:00.15


解决方案

一些google搜索后,我发现的 HTTP://$c$c.opencv.org/issues/3463

它简单地说变就变

  cmake的-DCMAKE_TOOLCHAIN​​_FILE = .. \\机器人\\ android.toolchain.cmake .. \\ ..

 的CMake -G的Unix的Makefile-DCMAKE_TOOLCHAIN​​_FILE = .. \\机器人\\ android.toolchain.cmake .. \\ ..

和你这样做后,成功地完成。

Following the tutorial found on http://code.opencv.org/projects/opencv/wiki/Building_OpenCV4Android_from_trunk I encountered problems with cmake.

when I run the command cmake -DCMAKE_TOOLCHAIN_FILE=..\android\android.toolchain.cmake .... from the build_android_arm folder I get a whole bunch of failures and then the configuration fails:

B:\Android\Workspace\OpenCV\platforms\build_android_arm>cmake -DCMAKE_TOOLCHAIN_
FILE=..\android\android.toolchain.cmake ..\..
-- Building for: Visual Studio 12 2013
-- Detected version of GNU GCC: 48 (408)
-- Performing Test HAVE_CXX_FSIGNED_CHAR
-- Performing Test HAVE_CXX_FSIGNED_CHAR - Failed
-- Performing Test HAVE_C_FSIGNED_CHAR
-- Performing Test HAVE_C_FSIGNED_CHAR - Failed
-- Performing Test HAVE_CXX_W
-- Performing Test HAVE_CXX_W - Failed
-- Performing Test HAVE_C_W
-- Performing Test HAVE_C_W - Failed
-- Performing Test HAVE_CXX_WALL
-- Performing Test HAVE_CXX_WALL - Failed
-- Performing Test HAVE_C_WALL
-- Performing Test HAVE_C_WALL - Failed
-- Performing Test HAVE_CXX_WERROR_RETURN_TYPE
-- Performing Test HAVE_CXX_WERROR_RETURN_TYPE - Failed
-- Performing Test HAVE_C_WERROR_RETURN_TYPE
-- Performing Test HAVE_C_WERROR_RETURN_TYPE - Failed
-- Performing Test HAVE_CXX_WERROR_NON_VIRTUAL_DTOR
-- Performing Test HAVE_CXX_WERROR_NON_VIRTUAL_DTOR - Failed
-- Performing Test HAVE_C_WERROR_NON_VIRTUAL_DTOR
-- Performing Test HAVE_C_WERROR_NON_VIRTUAL_DTOR - Failed
-- Performing Test HAVE_CXX_WERROR_ADDRESS
-- Performing Test HAVE_CXX_WERROR_ADDRESS - Failed
-- Performing Test HAVE_C_WERROR_ADDRESS
-- Performing Test HAVE_C_WERROR_ADDRESS - Failed
-- Performing Test HAVE_CXX_WERROR_SEQUENCE_POINT
-- Performing Test HAVE_CXX_WERROR_SEQUENCE_POINT - Failed
-- Performing Test HAVE_C_WERROR_SEQUENCE_POINT
-- Performing Test HAVE_C_WERROR_SEQUENCE_POINT - Failed
-- Performing Test HAVE_CXX_WFORMAT
-- Performing Test HAVE_CXX_WFORMAT - Failed
-- Performing Test HAVE_C_WFORMAT
-- Performing Test HAVE_C_WFORMAT - Failed
-- Performing Test HAVE_CXX_WERROR_FORMAT_SECURITY
-- Performing Test HAVE_CXX_WERROR_FORMAT_SECURITY - Failed
-- Performing Test HAVE_C_WERROR_FORMAT_SECURITY
-- Performing Test HAVE_C_WERROR_FORMAT_SECURITY - Failed
-- Performing Test HAVE_CXX_WMISSING_DECLARATIONS
-- Performing Test HAVE_CXX_WMISSING_DECLARATIONS - Failed
-- Performing Test HAVE_C_WMISSING_DECLARATIONS
-- Performing Test HAVE_C_WMISSING_DECLARATIONS - Failed
-- Performing Test HAVE_CXX_WMISSING_PROTOTYPES
-- Performing Test HAVE_CXX_WMISSING_PROTOTYPES - Failed
-- Performing Test HAVE_C_WMISSING_PROTOTYPES
-- Performing Test HAVE_C_WMISSING_PROTOTYPES - Failed
-- Performing Test HAVE_CXX_WSTRICT_PROTOTYPES
-- Performing Test HAVE_CXX_WSTRICT_PROTOTYPES - Failed
-- Performing Test HAVE_C_WSTRICT_PROTOTYPES
-- Performing Test HAVE_C_WSTRICT_PROTOTYPES - Failed
-- Performing Test HAVE_CXX_WUNDEF
-- Performing Test HAVE_CXX_WUNDEF - Failed
-- Performing Test HAVE_C_WUNDEF
-- Performing Test HAVE_C_WUNDEF - Failed
-- Performing Test HAVE_CXX_WINIT_SELF
-- Performing Test HAVE_CXX_WINIT_SELF - Failed
-- Performing Test HAVE_C_WINIT_SELF
-- Performing Test HAVE_C_WINIT_SELF - Failed
-- Performing Test HAVE_CXX_WPOINTER_ARITH
-- Performing Test HAVE_CXX_WPOINTER_ARITH - Failed
-- Performing Test HAVE_C_WPOINTER_ARITH
-- Performing Test HAVE_C_WPOINTER_ARITH - Failed
-- Performing Test HAVE_CXX_WSHADOW
-- Performing Test HAVE_CXX_WSHADOW - Failed
-- Performing Test HAVE_C_WSHADOW
-- Performing Test HAVE_C_WSHADOW - Failed
-- Performing Test HAVE_CXX_WSIGN_PROMO
-- Performing Test HAVE_CXX_WSIGN_PROMO - Failed
-- Performing Test HAVE_C_WSIGN_PROMO
-- Performing Test HAVE_C_WSIGN_PROMO - Failed
-- Performing Test HAVE_CXX_WNO_NARROWING
-- Performing Test HAVE_CXX_WNO_NARROWING - Failed
-- Performing Test HAVE_C_WNO_NARROWING
-- Performing Test HAVE_C_WNO_NARROWING - Failed
-- Performing Test HAVE_CXX_WNO_DELETE_NON_VIRTUAL_DTOR
-- Performing Test HAVE_CXX_WNO_DELETE_NON_VIRTUAL_DTOR - Failed
-- Performing Test HAVE_C_WNO_DELETE_NON_VIRTUAL_DTOR
-- Performing Test HAVE_C_WNO_DELETE_NON_VIRTUAL_DTOR - Failed
-- Performing Test HAVE_CXX_WNO_UNNAMED_TYPE_TEMPLATE_ARGS
-- Performing Test HAVE_CXX_WNO_UNNAMED_TYPE_TEMPLATE_ARGS - Failed
-- Performing Test HAVE_C_WNO_UNNAMED_TYPE_TEMPLATE_ARGS
-- Performing Test HAVE_C_WNO_UNNAMED_TYPE_TEMPLATE_ARGS - Failed
-- Performing Test HAVE_CXX_FDIAGNOSTICS_SHOW_OPTION
-- Performing Test HAVE_CXX_FDIAGNOSTICS_SHOW_OPTION - Failed
-- Performing Test HAVE_C_FDIAGNOSTICS_SHOW_OPTION
-- Performing Test HAVE_C_FDIAGNOSTICS_SHOW_OPTION - Failed
-- Performing Test HAVE_CXX_FOMIT_FRAME_POINTER
-- Performing Test HAVE_CXX_FOMIT_FRAME_POINTER - Failed
-- Performing Test HAVE_C_FOMIT_FRAME_POINTER
-- Performing Test HAVE_C_FOMIT_FRAME_POINTER - Failed
-- Performing Test HAVE_CXX_FVISIBILITY_HIDDEN
-- Performing Test HAVE_CXX_FVISIBILITY_HIDDEN - Failed
-- Performing Test HAVE_C_FVISIBILITY_HIDDEN
-- Performing Test HAVE_C_FVISIBILITY_HIDDEN - Failed
-- Performing Test HAVE_CXX_FVISIBILITY_INLINES_HIDDEN
-- Performing Test HAVE_CXX_FVISIBILITY_INLINES_HIDDEN - Failed
-- Performing Test HAVE_C_FVISIBILITY_INLINES_HIDDEN
-- Performing Test HAVE_C_FVISIBILITY_INLINES_HIDDEN - Failed
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - not found
-- Looking for stdint.h
-- Looking for stdint.h - not found
-- Looking for stddef.h
-- Looking for stddef.h - not found
-- Check size of unsigned short
-- Check size of unsigned short - failed
-- Check size of unsigned int
-- Check size of unsigned int - failed
-- Check size of unsigned long
-- Check size of unsigned long - failed
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/TestBigEndia
n.cmake:51 (message):
  no suitable type found
Call Stack (most recent call first):
  CMakeLists.txt:439 (test_big_endian)


-- Configuring incomplete, errors occurred!
See also "B:/Android/Workspace/OpenCV/platforms/build_android_arm/CMakeFiles/CMa
keOutput.log".
See also "B:/Android/Workspace/OpenCV/platforms/build_android_arm/CMakeFiles/CMa
keError.log".

Error log mostly reports

Build FAILED.



"B:\Android\Workspace\OpenCV\platforms\build_android_arm\CMakeFiles\CMakeTmp\cmTryCompileExec2294351403.vcxproj" (default target) (1) ->

(ClCompile target) -> 

  cl : Command line error D8021: invalid numeric argument '/Wno-psabi' [B:\Android\Workspace\OpenCV\platforms\build_android_arm\CMakeFiles\CMakeTmp\cmTryCompileExec2294351403.vcxproj]



    0 Warning(s)

    1 Error(s)



Time Elapsed 00:00:00.15

解决方案

After some more googling, I found http://code.opencv.org/issues/3463

Which simply says to change

cmake -DCMAKE_TOOLCHAIN_FILE=..\android\android.toolchain.cmake ..\..

to

cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=..\android\android.toolchain.cmake ..\..

And it succesfully finishes after you've done that.

这篇关于OpenCV的建设为Android从主干的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆