我可以在一个VC ++ 6.0编译的应用程序中嵌入Strawberry Perl,或者在编译器不匹配的情况下使用Inline :: C吗?

时间:2008-12-17 15:56:33

标签: perl visual-c++ mingw vc6 strawberry-perl

我正在考虑将perl 5.10嵌入到用VC ++ 6.0编译的大型C ++应用程序中。这导致了两个问题。

1)简单地使用Strawberry Perl作为依赖项而不是用VC ++ 6.0编译我自己的perl是不是一个坏主意?鉴于编译器不匹配,Strawberry会不会工作?我认为草莓是用mingw编写的。我宁愿不必保留自己的自定义perl版本。

2)如果我去草莓路线,Inline :: C会在嵌入式应用程序中运行吗?你有VC ++ 6.0代码调用mingw编译草莓反过来调用用户mingw编译代码。对于我想用嵌入式perl解释器实现的内容,Inline :: C将是一个非常棒的功能。

2 个答案:

答案 0 :(得分:3)

鉴于所涉及的不确定性,我建议使用MSVC编译Perl,而不是使用Strawberry Perl进行此应用程序。 perlwin32上有说明,related discussion上有Perl Monks指示。

作为Strawberry Perl的前任发布经理,我可以告诉你,如果你对编译器感到满意的话,这并不是很难。

- xdg

答案 1 :(得分:2)

Activestate perl是用VC ++ 6.0编译的。它可以使用VC ++ 6.0或MinGW来编译模块,因为它们链接到相同的C运行时库msvcrt.dll。最好使用MinGW,因为VC ++ 6.0既不是免费的,也不是现成的(除非你可以确定它安装在目标机器上。)You can PPM install Mingw now,并从CPAN编译模块。大量的模块编译没有问题。您可能必须使用以下命令配置CPAN:

o conf yaml_module''(两个单引号,之间没有任何内容)

o conf commit

Inline :: C有效。