我已成功通过以下选项完成Cmake。
$cmake -DGCC_COMPILER_VERSION="4.5" -DSOFTFP=ON -DUSE_NEON=ON -DCMAKE_SKIP_RPATH=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-5.0 -DCUDA_ARCH_BIN="2.1(2.0)" -DCUDA_ARCH_PTX="" -DWITH_CUDA=ON -DWITH_CUBLAS=ON -DWITH_TBB=ON -DBUILD_opencv_python=OFF -DBUILD_TBB=ON -DBUILD_ZLIB=ON -DBUILD_TIFF=ON -DBUILD_JASPER=ON -DBUILD_JPEG=ON -DBUILD_PNG=ON -DBUILD_OPENEXR=ON -DCMAKE_TOOLCHAIN_FILE=/home/intecore/carma/opencv-2.4.5/platforms/linux/arm-gnueabi.toolchain.cmake /home/intecore/carma/opencv-2.4.5
但是在23%之后的制作中出现了问题
[ 23%] Building NVCC (Device) object modules/core/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_matrix_operations.cu.o
cc1plus: error: unrecognized command line option ‘-mthumb’
cc1plus: error: unrecognized command line option ‘-mfpu=neon’
CMake Error at cuda_compile_generated_matrix_operations.cu.o.cmake:198 (message):
Error generating
/home/intecore/carma/opencv-2.4.5/platforms/linux/carma_build/modules/core/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_matrix_operations.cu.o
make[2]: *** [modules/core/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_matrix_operations.cu.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2
我不明白我犯了哪个错误请给我解决方案。
答案 0 :(得分:1)
好像你正在使用旧版的CMake。
使用CUDA进行交叉编译至少需要2.8.10 CMake版本。它在Ubuntu存储库中不可用。
请从他们的网站下载最新的CMake:http://www.cmake.org/cmake/resources/software.html
这是CARMA编译的说明: http://code.opencv.org/projects/opencv/wiki/CARMA_platform_compilation_and_testing
可以使用GTK后端通过UI支持编译OpenCV。
在目标设备上安装GTK。
apt-get install libgtk2.0-dev
在主机上安装GTK(用于所需的头文件)。
apt-get install libgtk2.0-dev
将/lib/arm-linux-gnueabi
和/usr/lib/arm-linux-gnueabi
个文件夹从目标复制到主机到同一位置。
除上述两个目录外,将目标上/usr/lib
的所有文件复制到主机上的/usr/lib/arm-linux-gnueabi
。
在主机上安装pkg-config-arm-linux-gnueabi
包。
apt-get install pkg-config-arm-linux-gnueabi
将下一个参数添加到cmake命令行:
-DPKG_CONFIG_EXECUTABLE = / usr / bin / arm-linux-gnueabi-pkg-config -DWITH_GTK = ON