Cmake错误:未知的CXX编译器标识,未知的C编译器标识

乌玛尔

我正在尝试使用适用于ARM处理器的交叉编译器在Fedora 21上安装OpenCV。

但是,当我尝试使用Cmake 3.03进行配置时,它给出了错误:

*The CXX compiler identification is unknown
The C compiler identification is unknown
Check for working CXX compiler: /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-g++
Check for working CXX compiler: /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-g++ -- broken
CMake Error at /usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:54 (message):
  The C++ compiler "/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-g++" is
  not able to compile a simple test program.
  It fails with the following output:
   Change Dir: /opt/opencv/relarm/CMakeFiles/CMakeTmp

  Run Build Command:"/usr/bin/gmake" "cmTryCompileExec1616328985/fast"
  /usr/bin/gmake -f CMakeFiles/cmTryCompileExec1616328985.dir/build.make
  CMakeFiles/cmTryCompileExec1616328985.dir/build
  gmake[1]: Entering directory '/opt/opencv/relarm/CMakeFiles/CMakeTmp'
  /usr/bin/cmake -E cmake_progress_report
  /opt/opencv/relarm/CMakeFiles/CMakeTmp/CMakeFiles 1
  Building CXX object
  CMakeFiles/cmTryCompileExec1616328985.dir/testCXXCompiler.cxx.o
  /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-g++ -o
  CMakeFiles/cmTryCompileExec1616328985.dir/testCXXCompiler.cxx.o -c
  /opt/opencv/relarm/CMakeFiles/CMakeTmp/testCXXCompiler.cxx

  /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/as:
  error while loading shared libraries: libz.so.1: cannot open shared object
  file: No such file or directory
  CMakeFiles/cmTryCompileExec1616328985.dir/build.make:57: recipe for target
  'CMakeFiles/cmTryCompileExec1616328985.dir/testCXXCompiler.cxx.o' failed
  gmake[1]: Leaving directory '/opt/opencv/relarm/CMakeFiles/CMakeTmp'
  gmake[1]: ***
  [CMakeFiles/cmTryCompileExec1616328985.dir/testCXXCompiler.cxx.o] Error 1
  Makefile:118: recipe for target 'cmTryCompileExec1616328985/fast' failed
  gmake: *** [cmTryCompileExec1616328985/fast] Error 2


  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:63 (project)
Configuring incomplete, errors occurred!
See also "/opt/opencv/relarm/CMakeFiles/CMakeOutput.log".
See also "/opt/opencv/relarm/CMakeFiles/CMakeError.log".*

我尝试将Path添加到我的bash_profile中,使其看起来像这样:

# .bash_profile

# Get the aliases and functions if [ -f ~/.bashrc ]; then
        . ~/.bashrc fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin export PATH=$PATH:/usr/local/bin:/usr/local/sbin:/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-g++:/usr/bin/gmake:/usr/share/bin:/usr/share/sbin

我已经搜寻了几个小时,但找不到任何有用的步骤。任何帮助,将不胜感激。提前致谢。

误码器

从输出看来,cmake能够找到您的交叉编译器,但是如输出所示,它无法编译简单的程序。我将从在C ++中创建Hello World并尝试使用交叉编译器进行编译开始。如果那不起作用,那是您的第一个问题。如果它确实起作用,那么我猜想它与某些环境变量有关。您可以尝试cmake在尝试编译简单的C ++程序并与您的shell环境变量进行比较之前先打印环境变量,对不起,我没有其他帮助。

更新:

因此,我下载了FriendlyArm,它提供的二进制文件是32位ELF,因此您将需要32位版本的libz。Ayum install zlib.i686应该可以解决您的问题。FriendlyArm工具链对我有用,并且我已经安装了zlib.i686。如果您遇到有关丢失共享对象的任何其他错误,请确保已安装32位版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

CXX编译器标识未知:xcode

CMake抱怨“ CXX编译器标识未知”

C编译器标识未知

无法在Windows 7 64位中构建hadoop v2.7.1,出现错误:C编译器标识未知,CXX编译器标识未知

CMake:C编译器无法编译简单的测试程序。令人惊讶的是,C编译器标识未知,但CXX是GNU 4.9.2

对于MacOS 10.13.3 CMake编译器标识未知

创建 docker build 时 Cmake 中的错误“CUDA 编译器标识未知”

在Mac Mojave中编译C ++时,C编译器标识未知

如何在使用CMake进行编译时修复“ CXX编译器的未知功能”(Linux Mint)

类型标识符预期的fpc编译器错误

C编译器在功能之前需要标识符

错误TS5023:未知的编译器选项'compilerOptions'

从理论上讲,cout <<未知的编译器错误

cpp的未知编译器标志/参数

tsc未知编译器选项allowNonTsExtensions

未知的编译器选项'noStrictGenericChecks'

未知的编译器选项“ outFile”

VisualC ++编译器错误C3646:未知的覆盖说明符

GLSL编译器错误错误C0000:语法错误,意外的标识符,标记<var>处应为“ ::”

为什么C ++编译器允许在编译时在堆栈上创建未知大小的数组?

为iOS生成AWS-SDK-CPP时在cmake上损坏的CXX编译器错误

Visual Studio-升级后的“未知编译器版本”

为什么 gcc 编译器标志未知?

未知的编译器选项包括和排除

使用Android的Jack编译器获取未知属性'classpath'

引用未知范围数组的不同编译器的奇怪行为

传递给列表monad bind的函数可以是没有编译器错误的标识

英特尔TBB-'InitializeCriticalSectionEx':找不到标识符编译器错误

编译器错误:无法确定数组大小标识符的大小