Компилируя вывод компилятора Perl (B::C), я получаю «EXTERN.h: Нет такого файла или каталога»

Компилируя вывод компилятора Perl (B::C), я получаю «EXTERN.h: Нет такого файла или каталога»

Если я попытаюсь скомпилировать что-то, сгенерированноеB::C,

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

И затем запустите `gcc myTest

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

Как мне решить эту проблему?

решение1

Это индикатор того, что вам нужноlibperl

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

Вы можете добавить этот пакет с помощью

$ sudo apt-get install libperl5.28

Затем вам необходимо добавить этот список в свой путь при вызове GCC с помощью ( -I),

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

Связанный контент