「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でも問題ありませんか??
私は何時間もグーグルで検索しましたが、あまり助けが見つかりませんでした。何かアイデアがあれば助けてください。
前もって感謝します。
みんなの助けのおかげで、私は自分の問題を解決することができました。
将来同じ問題に苦しむかもしれない他の人々のために、これは私がしたことです:
$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
そしてそれは魅力のように働いた。
私は同じ問題を抱えていました-うまくいったのはコマンドラインツールを削除することでした:
rm -rf /Library/Developer/CommandLineTools
次に、コマンドラインツールを再インストールします。
xcode-select --install
そのスクリプトが何をしているのか誰にも分かりません...そして私には調査する時間がないので、そこに行きます...
さらに別の解決策を見つけました。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})
_
私もこの問題に遭遇しました。正しいCXXFLAGSとCPPFLAGSを設定することで修正しました。ぜひチェックしてみてください。
1つの簡単な解決策は次のとおりです。
CPPFLAGS := $(CPPFLAGS) $(CFLAGS) CXXFLAGS := $(CXXFLAGS) $(CFLAGS)