Могу ли я встроить Strawberry Perl в скомпилированное приложение VC ++ 6.0 или использовать Inline :: C с несовпадением компилятора? - PullRequest
5 голосов
/ 17 декабря 2008

Я смотрю на встраивание perl 5.10 в большое приложение C ++, скомпилированное с VC ++ 6.0. Это приводит к двум вопросам.

1) Плохо ли просто использовать Strawberry Perl в качестве зависимости, а не компилировать свой собственный Perl с VC ++ 6.0? Будет ли Strawberry работать даже с учетом несоответствия компилятора? Я предполагаю, что Клубника составлена ​​с Mingw. Я бы предпочел не иметь при себе свой собственный сборочный Perl.

2) Если бы я пошел по пути Strawberry, было бы что-то вроде Inline :: C работать во встроенном приложении? У вас будет код VC ++ 6.0, вызывающий скомпилированный mingw Strawberry, в свою очередь вызывающий пользовательский скомпилированный код mingw. Inline :: C будет отличной возможностью для того, чего я пытаюсь достичь с помощью встроенного интерпретатора perl.

Ответы [ 2 ]

3 голосов
/ 17 декабря 2008

Учитывая неопределенность, я бы порекомендовал компилировать Perl с использованием MSVC, а не экспериментировать со Strawberry Perl для этого приложения. Инструкции perlwin32 и * on Perl Monks помогут вам.

Как бывший менеджер по выпуску Strawberry Perl, я могу вам сказать, что это не очень сложно сделать, если вы уже знакомы с компилятором.

- xdg

2 голосов
/ 09 мая 2009

Perl Activestate скомпилирован с VC ++ 6.0. Он может использовать VC ++ 6.0 или MinGW для компиляции модулей, поскольку они ссылаются на одну и ту же библиотеку времени выполнения C, msvcrt.dll. Было бы предпочтительнее использовать MinGW, поскольку VC ++ 6.0 не является ни бесплатным, ни легкодоступным (если только вы не уверены, что он установлен на целевой машине). Вы можете установить Mingw сейчас из PPM и скомпилировать модули из CPAN , Большое количество модулей компилируется без проблем. Возможно, вам придется настроить CPAN с:

o conf yaml_module '' (две одинарные кавычки, ничего между)

o conf commit

Inline :: C работает.

...