Posso incorporar morango Perl em um VC ++ 6.0 aplicativo compilado ou usar inline :: C com a incompatibilidade do compilador?
-
22-08-2019 - |
Pergunta
Eu estou olhando para a incorporação de perl 5.10 em uma aplicação em larga C ++ compilado com VC ++ 6.0. Isto leva a duas perguntas.
1) É uma má idéia para simplesmente usar morango Perl como uma dependência em vez de compilar meu próprio perl com VC ++ 6.0? Would Morango mesmo trabalhar, dada a incompatibilidade compilador? Presumo morango é compilado com mingw. Eu prefiro muito mais não tem que manter a minha própria construção perl costume ao redor.
2) Se eu fui a rota Morango, seria algo como o trabalho em linha :: C na aplicação incorporado? Você teria mingw chamando 6,0 código VC ++ compilado morango por sua vez, chamando código compilado usuário mingw. Inline :: C seria uma capacidade impressionante para o que eu estou tentando alcançar com o interpretador perl embutido.
Solução
Dada a incerteza envolvida, eu recomendaria compilar Perl usando MSVC ao invés de experimentar com morango Perl para esta aplicação. Há instruções em perlwin32 e uma discussão relacionada no Perl Monks para guiá-lo.
Como um ex-gerente de lançamento para Strawberry Perl, posso dizer-lhe que não é terrivelmente difícil de fazer se você está confortável com um compilador já.
- xdg
Outras dicas
Activestate perl é compilado com VC ++ 6.0. Ele pode usar VC ++ 6.0 ou MinGW para compilar módulos, uma vez que apontam para a mesma biblioteca C runtime, msvcrt.dll. Seria preferível usar MinGW porque VC ++ 6.0 é nem livre nem prontamente disponível (a menos que você pode ter certeza que ele é instalado na máquina de destino.) Você pode pPM instalar Mingw agora , e módulos de compilar a partir do CPAN. Um grande número de módulos compilar sem problemas. Você pode ter que CPAN configure com:
o conf yaml_module '' (duas aspas simples, nada entre)
o conf cometer
Inline :: C funciona.