web-dev-qa-db-ja.com

「C ++コンパイラ「/ usr / bin / c ++」は、単純なテストプログラムをコンパイルできません。」 OpenCVをインストールしようとすると

これに従ってMacにOpenCVをインストールしようとしています link

ただし、端末でcmake -G "Unix Makefiles" ..と入力すると、このエラーが出力されます。

--CXXコンパイラの識別が不明です-Cコンパイラの識別が不明です-動作しているCXXコンパイラを確認してください:/ usr/bin/c ++-動作しているCXXコンパイラを確認してください:/ usr/bin/c ++-壊れたCMakeエラー/opt/local/share/cmake-3.0/Modules/CMakeTestCXXCompiler.cmake:54(メッセージ):C++コンパイラ "/ usr/bin/c ++"は、単純なテストプログラムをコンパイルできません。

次の出力で失敗します。

ディレクトリの変更:/ Users/kwmaeng/Desktop/opencv/build/CMakeFiles/CMakeTmp

ビルドコマンドを実行します: "/ usr/bin/make" "cmTryCompileExec653545098/fast"

make:エラー:ユーティリティ「make」が見つかりません。開発者ツールではなく、PATHにありません。

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 ++ビルドフラグ:IDフラグ:

出力は次のとおりです。72xcodebuild:エラー:SDK "/ Volumes/MAC/dev/adt-bundle-mac-x86_64-20131030/sdk"が見つかりません。 c ++:エラー:ユーティリティ「clang ++」が見つかりません。開発者ツールではなく、PATHにありません...(何とか何とか)

奇妙なことに、/Volumes/MAC/dev/adt-bundle-mac-x86_64-20131030/sdkは私のAndroid SDKがインストールされていて、現在削除されているため、そのようなフォルダーはもうありません。cmakeが参照しているためにエラーが発生していますか?もう存在しない無効なパス?? cmakeが最初にAndroid sdkの場所を参照しているのはなぜですか?? opencvでも問題ありませんか??

私は何時間もグーグルで検索しましたが、あまり助けが見つかりませんでした。何かアイデアがあれば助けてください。

前もって感謝します。

9
kwmaeng

みんなの助けのおかげで、私は自分の問題を解決することができました。

将来同じ問題に苦しむかもしれない他の人々のために、これは私がしたことです:

$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

そしてそれは魅力のように働いた。

4
kwmaeng

私は同じ問題を抱えていました-うまくいったのはコマンドラインツールを削除することでした:

rm -rf /Library/Developer/CommandLineTools

次に、コマンドラインツールを再インストールします。

xcode-select --install

そのスクリプトが何をしているのか誰にも分かりません...そして私には調査する時間がないので、そこに行きます...

2
cayossarian

さらに別の解決策を見つけました。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})
_
1

私もこの問題に遭遇しました。正しいCXXFLAGSとCPPFLAGSを設定することで修正しました。ぜひチェックしてみてください。

1つの簡単な解決策は次のとおりです。

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

0
zilongshanren