相关疑难解决方法(0)

gcc 没有找到头文件,尽管它的路径已经包含在 -I 中

我正在尝试通过 安装模块 ( Package::Stash::XS) cpanm,但由于 gcc 错误导致安装失败。命令:

gcc -c    -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -fstack-protector -DUSEIMPORTLIB -O3    -DVERSION=\"0.28\"  -DXS_VERSION=\"0.28\"  "-I/usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE"   XS.c
Run Code Online (Sandbox Code Playgroud)

失败并出现错误:

XS.xs:1:20: fatal error: EXTERN.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

在线:

#line 1 "XS.xs"
#include "EXTERN.h"
Run Code Online (Sandbox Code Playgroud)

但是,该文件EXTERN.h确实存在于-I包含的/usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE:

$ ls /usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE/E*
/usr/lib/perl5/5.14/x86_64-cygwin-threads/CORE/EXTERN.h
Run Code Online (Sandbox Code Playgroud)

可能是什么问题,我怎样才能使编译成功?我试过更改-I-iquote(尽管 gcc 手册确实说双引号包括最终也使用 -I),但这无济于事。我的第一个想法是这是一个权限问题,但这是 Cygwin 并且 cpanm 像我一样运行,我确实EXTERN.h对 CORE 目录具有读取访问权限和 exec 访问权限。

cygwin perl gcc cpan

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

cpan ×1

cygwin ×1

gcc ×1

perl ×1