我想将VXL(Vision-something-Libraries)移植到android平台。我使用的交叉编译器是android-cmake。 您可以从网址http://vxl.sourceforge.net/获取VXL。我使用的版本是vxl-1.14.0 你可以从网址http://code.google.com/p/android-cmake/
获取android-camke当我正确设置我的NDK for cmake,并指定独立工具链作为android-camke的介绍。然后,我使用andriod-camke来编译VXL。但是我遇到很多错误。它无法生成Makefile 。有人知道为什么吗?
接下来是错误日志。
l00138375@l00138375:/home/hm/build-vxl$ android-cmake ../vxl-1.14.0
CMake Warning at /home/hm/android/android-cmake/toolchain/android.toolchain.cmake:281 (message):
Using value of obsolete variable ANDROID_NDK_TOOLCHAIN_ROOT as initial
value for ANDROID_STANDALONE_TOOLCHAIN. Please note, that
ANDROID_NDK_TOOLCHAIN_ROOT can be completely removed in future versions of
the toolchain.
Call Stack (most recent call first):
/home/hm/android/android-cmake/toolchain/android.toolchain.cmake:376 (__INIT_VARIABLE)
/usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake:89 (INCLUDE)
CMakeLists.txt:13 (PROJECT)
........
-- Check if the system is big endian - little endian
-- Performing Test VCL_CHAR_IS_SIGNED
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
VCL_CHAR_IS_SIGNED (advanced)
VCL_CHAR_IS_SIGNED__TRYRUN_OUTPUT (advanced)
For details see /home/hm/build-vxl/TryRunResults.cmake
-- Performing Test VCL_CHAR_IS_SIGNED - Failed
-- Looking for 8-bit int. [Checking char...]
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
RUN_RESULT (advanced)
RUN_RESULT__TRYRUN_OUTPUT (advanced)
For details see /home/hm/build-vxl/TryRunResults.cmake
.........
-- Performing Test VCL_NUMERIC_LIMITS_HAS_INFINITY
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
VCL_NUMERIC_LIMITS_HAS_INFINITY (advanced)
VCL_NUMERIC_LIMITS_HAS_INFINITY__TRYRUN_OUTPUT (advanced)
For details see /home/hm/build-vxl/TryRunResults.cmake
-- Performing Test VCL_NUMERIC_LIMITS_HAS_INFINITY - Failed
-- Performing Test VCL_PROCESSOR_HAS_INFINITY
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
VCL_PROCESSOR_HAS_INFINITY (advanced)
VCL_PROCESSOR_HAS_INFINITY__TRYRUN_OUTPUT (advanced)
For details see /home/hm/build-vxl/TryRunResults.cmake
-- Performing Test VCL_PROCESSOR_HAS_INFINITY - Failed
-- Looking for C++ include inttypes.h
-- Looking for C++ include inttypes.h - found
-- Looking for memalign
-- Looking for memalign - found
-- Could NOT find DC1394 (missing: DC1394_LIBRARIES DC1394_INCLUDE_DIR)
-- Performing Test DIRECTSHOW_SOURCE_COMPILES
-- Performing Test DIRECTSHOW_SOURCE_COMPILES - Failed
CMake Error at config/cmake/Modules/NewCMake/FindDirectShow.cmake:101 (MESSAGE):
Uncomment code below: FindPackageHandleStandardArgs is now available.
Call Stack (most recent call first):
core/vidl/CMakeLists.txt:13 (INCLUDE)
答案 0 :(得分:1)
正如Andrey的评论所提到的,VXL使用CMake的方式阻止了交叉编译。然而,还有另一种选择。其中一个维护者维护包含核心库的替代构建系统的分支。 vxl-build-makefiles
分支应该是一个很好的起点,可以修改为使用交叉编译器。
http://sourceforge.net/p/vxl/svn/36716/tree/branches/vxl-build-makefiles/
如果您对使用分支有任何疑问,或者确实有关于VXL的任何其他问题 - 可能更多使用vxl邮件列表。 vxl-users@lists.sourceforge.net