Проблема установки Opencv на Raspberry Pi 4 с компилятором gnu / библиотекой C ++ по умолчанию - PullRequest
2 голосов
/ 21 апреля 2020

У меня Raspberry Pi 4 с Raspbian (обновлен до последней версии) и я пытался получить Opencv. У меня Python 2,7, все зависимости и др. c. Я работаю в виртуальной среде, но у меня установлена ​​другая версия на не виртуальной версии, и я получил ту же ошибку.

(cv) pi@raspberrypi:~ $ cd ~/opencv-3.1.0/build
(cv) pi@raspberrypi:~/opencv-3.1.0/build $ make
[  2%] Built target libwebp
[  4%] Built target libjasper
[  7%] Built target IlmImf
[  7%] Built target opencv_highgui_pch_dephelp
[  7%] Built target pch_Generate_opencv_highgui
[  8%] Built target opencv_core_pch_dephelp
[  8%] Generating precomp.hpp.gch/opencv_core_RELEASE.gch
In file included from 
/usr/include/c++/8/bits/stl_algo.h:59,
             from /usr/include/c++/8/algorithm:62,
             from /home/pi/opencv-3.1.0/modules/core/include/opencv2/core/base.hpp:53,
             from /home/pi/opencv-3.1.0/modules/core/include/opencv2/core.hpp:54,
             from /home/pi/opencv-3.1.0/modules/core/include/opencv2/core/utility.hpp:52,
             from /home/pi/opencv-3.1.0/build/modules/core/precomp.hpp:49:
/usr/include/c++/8/cstdlib:75:15: fatal error: stdlib.h: 
No such file or directory
 #include_next <stdlib.h>
           ^~~~~~~~~~
compilation terminated.
make[2]: *** [modules/core/CMakeFiles/pch_Generate_opencv_core.dir/build.make:64: modules/core/precomp.hpp.gch/opencv_core_RELEASE.gch] 
Error 1
make[1]: *** [CMakeFiles/Makefile2:2336: modules/core/CMakeFiles/pch_Generate_opencv_core.dir/all] 
Error 2
make: *** [Makefile:163: all] Error 2

cv - это моя виртуальная среда. Ошибка возникает в файле в каталоге C ++ по умолчанию, который идет с пи. Стандартная библиотека c ++ не может найти стандартную библиотеку C в той же папке. Я проверил, что они оба там и оба неотредактированы. Мне интересно, как компилятор gnu имеет доступ только к части каталога C ++.

1 Ответ

0 голосов
/ 21 апреля 2020

Попробуйте отключить предварительно скомпилированные заголовки:

-DENABLE_PRECOMPILED_HEADERS=OFF

Удалить каталог build.

Попробуйте это:

(cv) pi@raspberrypi:~ $ cd ~/opencv-3.1.0 
(cv) pi@raspberrypi:~/opencv-3.1.0 $ mkdir build && cd build
(cv) pi@raspberrypi:~/opencv-3.1.0/build $ cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_PRECOMPILED_HEADERS=OFF  <here_your_options>...
(cv) pi@raspberrypi:~/opencv-3.1.0/build $
(cv) pi@raspberrypi:~/opencv-3.1.0/build $ make
(cv) pi@raspberrypi:~/opencv-3.1.0/build $ sudo make install
...