编译 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

相关内容