2014-09-22 6 views
7

Próbuję zainstalować OpenCV na moim Macu, wykonując tę ​​link"Kompilator C++"/usr/bin/C++ "nie jest w stanie skompilować prostego programu testowego." Kiedy próbuje zainstalować OpenCV

Jednak, gdy wpisuję cmake -G "Unix Makefiles" .. na moim terminalu, błąd ten zostanie wydrukowany.

-- The CXX compiler identification is unknown -- The C compiler identification is unknown -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- broken CMake Error at /opt/local/share/cmake-3.0/Modules/CMakeTestCXXCompiler.cmake:54 (message): The C++ compiler "/usr/bin/c++" is not able to compile a simple test program.

It fails with the following output:

Change Dir: /Users/kwmaeng/Desktop/opencv/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTryCompileExec653545098/fast"

make: error: unable to find utility "make", not a developer tool or in PATH

CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:56 (project)

-- Configuring incomplete, errors occurred! See also "/Users/kwmaeng/Desktop/opencv/build/CMakeFiles/CMakeOutput.log". See also "/Users/kwmaeng/Desktop/opencv/build/CMakeFiles/CMakeError.log".

Więc sprawdziłem CMakeError.log, a to jest treść

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. Compiler: /usr/bin/c++ Build flags: Id flags:

The output was: 72 xcodebuild: error: SDK "/Volumes/MAC/dev/adt-bundle-mac-x86_64-20131030/sdk" cannot be located. c++: error: unable to find utility "clang++", not a developer tool or in PATH ...(blah blah)

Weird rzeczą jest, /Volumes/MAC/dev/adt-bundle-mac-x86_64-20131030/sdk gdzie został zainstalowany mój Android SDK, i usunięciem go teraz, więc nie istnieją taki folder już. Czy błąd występuje, ponieważ cmake odnosi się do nieprawidłowej ścieżki, która już nie istnieje? Dlaczego cmake odnosi się przede wszystkim do lokalizacji androida SDK? Czy to ma znaczenie dla opencv?

Używałem go przez kilka godzin, ale nie znalazłem zbyt wiele pomocy. Pomóż mi, jeśli masz jakieś pomysły.

Z góry dziękuję.

+1

Czy rzeczywiście mieć zainstalowany kompilator C++, to znaczy czy zainstalowany Xcode i/lub narzędzia wiersza polecenia developer? –

+0

Proponuję użyć gui CMake (cmake-gui). Podczas pierwszej konfiguracji możesz również określić ścieżkę do kompilatora. – Antonio

+0

Czy próbowałeś ustawić ścieżkę do kompilatora? '' -DCMAKE_CXX_COMPILER =/usr/bin/C++ ' – 0x499602D2

Odpowiedz

2

Dzięki pomocy wszystkich udało mi się rozwiązać problem.

Dla innych osób, które mogą ponieść z tego samego problemu w przyszłości, to co zrobiłem:

było ponieważ mój $PATH zostało pomieszane (myślę, że to się stało, gdy próbowałem dodać Android SDK do $PATH)

i wyczyszczone .bash_profile i dodał C++ i Marka i /opt/local/bin, /opt/local/sbin

jak ten

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

i działało jak czar.

0

Również napotykam ten problem, naprawiłem go, ustawiając prawidłowe CXXFLAGS i CPPFLAGS. Myślę, że powinieneś to sprawdzić.

Prostym rozwiązaniem byłoby:

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

0

Dla mnie moje pierwsze Problem polegał na tym, że nie mam z wiersza poleceń Xcode tools..So dostał te (xcode-select --install w terminalu) oraz Wciąż miałem problem. Rozwiązanie? Zamknij okno terminala i utwórz nowe. Następnie, voila!

-2

Doświadczyłem tego problemu i go rozwiązałem.

Kod jest:

yum -y install gcc-c++ 
+0

Jak zainstalowałeś 'yum' na OS X? –

+0

yum jest w systemie Linux. – Biranchi

2

miałem ten sam problem - co zadziałało było usunąć z narzędzi wiersza polecenia:

rm -rf /Library/Developer/CommandLineTools 

następnie zainstaluj narzędzie wiersza poleceń:

xcode-select --install 

Kto wie, co robi ten skrypt ...i nie mam czasu na zbadanie, więc ...

0

Znalazłem jeszcze jedno rozwiązanie: umieszczenie set(CMAKE_C_COMPILER gcc) na samej górze mojej CMakeLists.txt. Dla odniesienia, mam ten błąd zaraz po zainstalowaniu aktualizacji CLion.

Oto moja ostateczna 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}) 
Powiązane problemy