繁体   English   中英

CMake无法确定目标平台的位数

[英]CMake fails to deterimine the bitness of target platform

我正在尝试为Yocto(i.MX6D)交叉编译OpenCV 3.2。

我创建一个toolchain.cmake文件:

 # compiler
include(CMakeForceCompiler)
cmake_force_c_compiler(arm-poky-linux-gnueabi-gcc GNU)
cmake_force_cxx_compiler(arm-poky-linux-gnueabi-g++ GNU)
# sysroot location
set(MYSYSROOT /opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi)
# compiler/linker flags
add_definitions("--sysroot=${MYSYSROOT}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --sysroot=${MYSYSROOT}" CACHE INTERNAL "" FORCE)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --sysroot=${MYSYSROOT}" CACHE INTERNAL "" FORCE)
# cmake built-in settings to use find_xxx() functions
set(CMAKE_FIND_ROOT_PATH ${MYSYSROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

我运行: de@DE:~/OpenCVcross/opencv/build$ cmake -DCMAKE_TOOLCHAIN_FILE=poky-opencv-toolchain.cmake -DOPENCV_EXTRA_MODULES_PATH=/home/de/OpenCVcross/opencv_contrib/modules /home/de/OpenCVcross/opencv

并得到这个错误:

在此处输入图片说明

在Internet上有很多使用bitbake创建图像的示例,其中包括Opencv 2.4。 我不想创建新映像,只想用poky编译OpenCV 3.2。

PS我尝试用poky编译一个简单的hello.c,它成功了。

arm-poky-linux-gnueabi-gcc --sysroot=/opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi -mfloat-abi=hard hello.c -o helloworld  

如何用poky编译OpenCv 3.2? 这里有什么问题?

我认为您不需要自己的工具链文件。 Yocto SDK在/opt/poky/1.8/sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchianConfig.cmake中提供了一个。 如果您未指定-DCMAKE_TOOLCHAIN_FILE ,那么将使用此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM