【问题标题】:"The C++ compiler "/usr/bin/c++" is not able to compile a simple test program." When trying to install OpenCV“C++ 编译器“/usr/bin/c++”无法编译简单的测试程序。”尝试安装 OpenCV 时
【发布时间】:2014-11-16 12:46:53
【问题描述】:

我正在尝试按照link 在我的 Mac 上安装 OpenCV

但是,当我在终端上键入 cmake -G "Unix Makefiles" .. 时,会打印此错误。

-- CXX 编译器标识未知 -- C 编译器标识未知 -- 检查工作的 CXX 编译器:/usr/bin/c++ -- 检查工作的 CXX 编译器:/usr/bin/c++ -- 在 /opt/local/share/cmake-3.0/Modules/CMakeTestCXXCompiler.cmake:54 处损坏 CMake 错误 (消息):C++ 编译器“/usr/bin/c++”无法编译 简单的测试程序。

失败,输出如下:

更改目录:/Users/kwmaeng/Desktop/opencv/build/CMakeFiles/CMakeTmp

运行编译命令:"/usr/bin/make" "cmTryCompileExec653545098/fast"

make:错误:无法找到实用程序“make”,不是开发工具或 在路径中

CMake 将无法正确生成此项目。称呼 堆栈(最近调用优先):CMakeLists.txt:56(项目)

-- 配置不完整,出现错误!另请参阅“/Users/kwmaeng/Desktop/opencv/build/CMakeFiles/CMakeOutput.log”。看 还有“/Users/kwmaeng/Desktop/opencv/build/CMakeFiles/CMakeError.log”。

所以我检查了 CMakeError.log,这是内容

编译CXX编译器识别源文件 “CMakeCXXCompilerId.cpp”失败。编译器:/usr/bin/c++ 构建标志: 标识标志:

输出为:72 xcodebuild: error: SDK “/Volumes/MAC/dev/adt-bundle-mac-x86_64-20131030/sdk”不能 位于。 c++:错误:找不到实用程序“clang++”,不是开发人员 工具或在 PATH ...(blah blah)

奇怪的是,/Volumes/MAC/dev/adt-bundle-mac-x86_64-20131030/sdk 是我的 Android SDK 安装的地方,现在它被删除了,所以没有这样的文件夹了。发生错误是因为 cmake 指的是不再存在的无效路径吗?为什么cmake首先引用android sdk的位置? opencv 还重要吗??

我用谷歌搜索了几个小时,但没有找到太多帮助。如果您有任何想法,请帮助我。

提前致谢。

【问题讨论】:

  • 您是否真的安装了 C++ 编译器,即您是否安装了 Xcode 和/或开发人员命令行工具?
  • 我建议你使用 CMake 的 gui (cmake-gui)。第一次配置,也可以指定编译器的路径。
  • 你试过设置编译器的路径吗?:-DCMAKE_CXX_COMPILER=/usr/bin/c++
  • 我已经安装了 Xcode,所以我有一个编译器。回家后我会尝试指定编译器的路径。
  • @kw 这不是论坛,所以标题中没有 [已解决]。见faq。在这里,当有人(包括您自己)回答您的问题并为您提供问题的解决方案时,您应该点击答案旁边的复选标记。

标签: c++ xcode macos opencv


【解决方案1】:

感谢大家的帮助,我能够解决我的问题。

对于以后可能遇到同样问题的其他人,我是这样做的:

那是因为我的$PATH 搞砸了(我想它是在我尝试将 Android SDK 添加到 $PATH 时发生的)

我清除了 .bash_profile 并添加了 C++ 和 make 以及 /opt/local/bin/opt/local/sbin

喜欢这个

export PATH=$PATH:/opt/local/bin:/opt/local/sbin:/usr/bin/c++:/usr/bin/make

它就像魅力一样。

【讨论】:

  • 确实检查了我的 PATH,我正在使用另一个 make 文件
【解决方案2】:

我遇到了同样的问题 - 有效的方法是删除命令行工具:

rm -rf /Library/Developer/CommandLineTools

然后重新安装命令行工具:

xcode-select --install

谁知道那个脚本在做什么......我没有时间调查,所以你去吧......

【讨论】:

    【解决方案3】:

    我找到了另一个解决方案:将set(CMAKE_C_COMPILER gcc) 放在我的CMakeLists.txt 的最顶部。作为参考,我在安装 CLion 更新后立即收到此错误。

    这是我最后的CMakeLists.txt

    set(CMAKE_C_COMPILER gcc)
    cmake_minimum_required(VERSION 3.6)
    project(...)
    
    set(CMAKE_CXX_STANDARD 11)
    
    set(SOURCE_FILES XXX.cpp)
    add_executable(... ${SOURCE_FILES})
    

    【讨论】:

      【解决方案4】:

      对我来说,我的第一个问题是我没有 Xcode 命令行工具。所以我得到了那些(终端中的xcode-select --install),但我仍然遇到了问题。解决方案?关闭终端窗口并创建一个新窗口。那么,瞧!

      【讨论】:

        【解决方案5】:

        我也遇到过这个问题,已经解决了。

        代码是:

        yum -y install gcc-c++
        

        【讨论】:

        • 你是如何在 OS X 上安装 yum 的?
        • yum 在 Linux 上。
        【解决方案6】:

        我也遇到了这个问题,我已经通过设置正确的 CXXFLAGS 和 CPPFLAGS 来解决它。我想你也应该检查一下。

        一个简单的解决方案是:

        CPPFLAGS := $(CPPFLAGS) $(CFLAGS)
        CXXFLAGS := $(CXXFLAGS) $(CFLAGS)
        

        【讨论】:

          猜你喜欢
          • 2017-05-21
          • 1970-01-01
          • 2015-07-05
          • 2021-01-23
          • 1970-01-01
          • 1970-01-01
          • 2019-09-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多