Beim Kompilieren der Ausgabe des Perl-Compilers (B::C) erhalte ich „EXTERN.h: Keine solche Datei oder kein solches Verzeichnis“

Beim Kompilieren der Ausgabe des Perl-Compilers (B::C) erhalte ich „EXTERN.h: Keine solche Datei oder kein solches Verzeichnis“

Wenn ich versuche, etwas zu kompilieren, das generiert wurde vonB::C,

$ perl -MO=C,-omyTest.c -e'print "Hello World!";'
-e syntax OK

Und führen Sie dann `gcc myTest

$ gcc ./myTest.c 
./myTest.c:3:10: fatal error: EXTERN.h: No such file or directory
 #include "EXTERN.h"
          ^~~~~~~~~~
compilation terminated.

Wie kann ich das Problem beheben?

Antwort1

Dies ist ein Indikator, den Sie benötigenlibperl

$ apt-file search EXTERN.h
libperl5.28: /usr/lib/x86_64-linux-gnu/perl/5.28.1/CORE/EXTERN.h

Sie können dieses Paket hinzufügen mit

$ sudo apt-get install libperl5.28

Sie müssen diese Liste dann zu Ihrem Pfad hinzufügen, wenn Sie GCC mit ( -I) aufrufen.

gcc -I"/usr/lib/x86_64-linux-gnu/perl/5.28.1/CORE/" -lperl ./myTest.c

verwandte Informationen