簡體   English   中英

“ C ++編譯器“ / usr / bin / c ++”無法編譯簡單的測試程序。”嘗試安裝OpenCV時

[英]“The C++ compiler ”/usr/bin/c++“ is not able to compile a simple test program.” When trying to install OpenCV

我正在嘗試通過此鏈接在Mac上安裝OpenCV

但是,當我在終端上鍵入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標志:

輸出為:72 xcodebuild:錯誤:無法找到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都重要嗎?

我用Google搜索了幾個小時,但沒有找到太多幫助。 如果您有任何想法請幫助我。

提前致謝。

多虧了大家的幫助,我才得以解決我的問題。

對於將來可能會遇到相同問題的其他人,這是我所做的:

這是因為我的$PATH被弄亂了(我想是在我嘗試將Android SDK添加到$PATH

我清除了.bash_profile並添加了C ++並制作和/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來解決它。 我想您也應該檢查一下。

一種簡單的解決方案是:

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

對我來說,我的第一個問題是我沒有Xcode命令行工具。所以我得到了這些( xcode-select --install in terminal),但仍然有問題。 解決方案? 關閉終端窗口並創建一個新窗口。 然后,瞧!

我也遇到了這個問題並已解決。

代碼是:

yum -y install gcc-c++

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM