我曾经使用MinGW来编译cpan模块。现在在我的新计算机上我安装了VisualStudio,CPAN现在尝试使用vs-compiler并失败,因为它找不到“sys / types.h”。
如何告诉cpan使用MinGW?我找不到一个commoand-line选项。我可以使用vs-compiler解决其他问题吗?我在哪里放sys / types.h?如何将cpan中的include命令传递给编译器?
答案 0 :(得分:3)
如果您尝试使用与构建Perl不同的C编译器编译CPAN模块,那么您就会遇到麻烦。带有XS代码的典型Perl模块使用Perl配置中的编译器标志(请参阅perl -V
)。由于ActivePerl是使用MSVC构建的,$Config{ccflags}
包含特定于MSVC的标志,这些标志不适用于MinGW的gcc。
因此,如果您使用ActivePerl,您应该坚持使用MSVC。如果你想使用MinGW,请切换到Strawberry Perl。
也就是说, sys/types.h
是一个POSIX标题。如果您的模块需要它,它可能不支持Windows,无论您使用何种编译器。在这种情况下,您只能切换到模拟POSIX环境的Cygwin。
MSVC应附带sys/types.h
。您可能没有正确设置它。你有没有运行vcvars.bat
?
如果您告诉我们您要安装哪个模块,您可能会得到更好的答案。