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

-I次に、()を使用してGCCを呼び出すときは、このリストをパスに追加する必要があります。

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

おすすめ記事