2011-11-20 44 views
4

我需要一個內置Perl解釋器的C++構建的DLL和Phil Harvey的Perl庫exiftool被C++函數調用。如何在生成DLL的C++應用程序中嵌入Perl解釋器?

我想在Windows 7上安裝Visual Studio 2010 VC++。哪種Perl發行版最適合此任務:StrawberryActiveState Perl?另外,哪個Perl編譯命令:nmake或dmake?

最終的可交付成果應該是一個DLL。這可以導入到任何程序C等,DLL函數將被調用,這將在內部調用菲爾哈維的exiftool庫函數/參數/開關。

+0

爲什麼'system(「perl.exe foo.pl」)'不可接受? – moshbear

+2

這個問題http://stackoverflow.com/questions/49168/how-can-i-embed-perl-inside-a-c-application似乎是相似的,但答案不適用於Visual Studio/Windows。 –

回答

2

如果你安裝了Perl,你應該做的第一件事就是查看perlembed的manpage,即Unix系統上的「man perlembed」。既然你是在Windows上,你最好看看官方Perl documentation on the web for "perlembed"

該信息頁面上有一個Win32的特定部分。至於包含perl作爲DLL的細節和注意事項,我在這裏沒有太多幫助。

+0

MOSHBEAR;感謝每一個回覆。我無法使用.EXE,因爲.EXE可以嵌入到DLL中。如果包含在VC++項目中,並且.DLL被創建,但最終的可交付成果將是兩個文件........ EXE和.DLL被放置在同一文件夾中,那麼最終的可交付成果應該只有.DLL –

+0

.EXE。這是不想......只有.DLL ....這就是爲什麼嵌入perl解釋器和執行exiftool philharvey源代碼通過VC++調用其perl函數,隨後使DLL –

+0

抱歉..... EXE文件可以永遠不會嵌入.DLL .....或.EXE是二進制不能被讀取...... –

0

這可能有點矯枉過正,但a SWIG page提到從NMAKE和Visual Studio擴展訪問Perl。

相關問題