【问题标题】:How can I embed Perl Interpreter inside a C++ application making DLL?如何将 Perl Interpreter 嵌入到制作 DLL 的 C++ 应用程序中?
【发布时间】:2012-01-02 05:20:39
【问题描述】:

我需要一个内置在 C++ 中的 DLL,其中包含 Perl 解释器,以及由 C++ 函数调用的由 Phil Harvey 编写的 Perl 库 exiftool

我想在安装了 Visual Studio 2010 VC++ 的 Windows 7 上执行此操作。哪个 Perl 发行版最适合这项任务:StrawberryActiveState Perl?还有,哪个 Perl 编译命令:nmake 还是 dmake?

最终的交付物应该是一个 DLL。这可以导入到任何程序 C 等中,并且将调用 DLL 函数,这些函数将在内部调用 Phil Harvey 的 exiftool 库函数/参数/开关。

【问题讨论】:

标签: c++ windows visual-studio-2010 perl windows-7


【解决方案1】:

如果你已经安装了 Perl,你应该做的第一件事是查看 perlembed 的联机帮助页,即 Unix 系统上的“man perlembed”。既然你是windows的,最好还是看看官方的Perl documentation on the web for "perlembed"吧。

在该信息页面上有一个关于 Win32 的特定部分。至于将 perl 作为 DLL 包含在内的细节和注意事项,我对此帮助不大。

【讨论】:

  • MOSHBEAR;感谢每一个回复。我不能使用 .EXE,因为 .EXE 可以嵌入到 DLL 中。最终交付物应该只有 .DLL
  • .EXE 如果包含在 VC++ 项目中并且 .DLL 被制作,但最终交付将是两个文件........EXE 和 .DLL 放在同一个文件夹中。这是不想要的......只有.DLL......这就是为什么嵌入perl解释器并执行exiftool philharvey源代码以通过VC++调用其perl函数并随后制作DLL
  • 对不起.....EXE文件永远不能嵌入到.DLL中......或者.EXE是无法读取的二进制文件......
【解决方案2】:

这可能有点矫枉过正,但a SWIG page 提到从 NMAKE 访问 Perl,进而从 Visual Studio 访问。

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 2013-09-05
    • 2013-07-21
    • 2017-12-22
    • 2012-08-26
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    相关资源
    最近更新 更多