OpenCV-Build schlägt unter Ubuntu 24.04 mit „Schwerwiegender Fehler: stdlib.h: keine solche Datei oder kein solches VerzC++

Programme in C++. Entwicklerforum
Anonymous
 OpenCV-Build schlägt unter Ubuntu 24.04 mit „Schwerwiegender Fehler: stdlib.h: keine solche Datei oder kein solches Verz

Post by Anonymous »

Ich habe die neueste Version von OpenCV (4.12.0) mit zusätzlichen Modulen aus dem Github-Repository erhalten, kann sie aber nicht unter Linux (Ubuntu 24) erstellen.
Mit CMake (3.28) ergibt der Build systematisch Folgendes:

Code: Select all

/usr/include/c++/13/cstdlib:79:15: fatal error: stdlib.h: no such file or directory
...
#include_next 
Ich habe es mit gcc 12 und 13 versucht. stdlib.h ist tatsächlich in /usr/include/c++/13/ (im Fehler erwähnt) und /usr/include/ vorhanden.

Code: Select all

g++ -v -E -x c++ /dev/null
ergibt:

Code: Select all

#include "..." search starts here:
#include  search starts here:
/usr/include/c++/13
/usr/include/x86_64-linux-gnu/c++/13
/usr/include/c++/13/backward
/usr/lib/gcc/x86_64-linux-gnu/13/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
Es gibt sehr alte Erwähnungen desselben Fehlers, der mit der Verwendung vorkompilierter Header zusammenhängt, aber die Option ist jetzt standardmäßig deaktiviert: Zum Erstellen folge ich diesem Verfahren:

Code: Select all

cd 
git clone https://github.com/opencv/opencv.git --branch 4.12.0
git clone https://github.com/opencv/opencv_contrib.git --branch 4.12.0
mkdir opencv_build
mkdir opencv_install
von cmake-gui:
  • Setze das Build-Verzeichnis auf opencv_build
  • setze CMAKE_INSTALL_PREFIX auf opencv_install
  • setze OPENCV_EXTRA_MODULES_PATH auf opencv_contrib/modules
  • OPENCV_ENABLE_NONFREE auf Ein setzen
  • WITH_CUDA auf Ein setzen (obwohl es in diesem Fall bedeutungslos zu sein scheint)
  • konfigurieren und generieren
Dann:

Code: Select all

cmake --build ./opencv_build --target install
Ich habe es auch mit einem anderen C++-Standard versucht (11 (Standard), 17 und 20).
Warum schlägt der Build mit diesem Fehler fehl, wenn stdlib.h eindeutig am erwarteten Speicherort vorhanden ist, und wie kann ich dieses Problem beheben?
Zusätzlicher Kontext:
  • Der gleiche Build funktioniert unter Windows sowohl mit MSVC als auch mit GCC
  • Ich könnte eine frühere Version von OpenCV 4 auf Ubuntu 22.04 auf derselben Hardware erstellen

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post