1

我已经使用以下选项成功完成了 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

我不明白我在哪里犯了错误,请给我解决方案。

4

1 回答 1

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 支持

OpenCV 可以通过使用 GTK 后端的 UI 支持进行编译。

  • 在目标设备上安装 GTK。

    apt-get 安装 libgtk2.0-dev

  • 在主机上安装 GTK(用于所需的头文件)。

    apt-get 安装 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

于 2013-08-01T13:44:54.573 回答