如何告诉CPAN(ActiveState)使用MINGW编译器



我曾经使用mingw来编译CPAN模块。现在,在我的新计算机上,我安装了VisualStudio,CPAN现在试图使用VS兼容器,并且由于找不到" sys/types.h",因此失败了。

我该如何告诉CPAN使用mingw?为此,我找不到一个共同行选项。我可以使用VS-Compiler解决其他问题吗?我在哪里放置sys/types.h?如何将Include命令从CPAN传递到编译器?

如果您试图用与perl构建不同的C编译器编译CPAN模块,请遇到麻烦。带有XS代码的典型PERL模块使用Perl Config的编译器标志(请参阅perl -V)。由于ActivePerl是使用MSVC构建的,因此$Config{ccflags}包含MSVC特定标志,这些标志与Mingw的GCC无法使用。

因此,如果您使用ActivePerl,则应坚持使用MSVC。如果要使用mingw,请切换到草莓perl。

也就是说,sys/types.h是POSIX标头。如果您的模块需要它,那么无论您使用的编译器,它都可能不支持Windows。在这种情况下,您只能切换到模拟POSIX环境的Cygwin。

MSVC应带有sys/types.h。您可能没有正确设置它。您是否运行vcvars.bat

如果您告诉我们要安装的模块,您可能会得到更好的答案。

最新更新