从源代码编译 Perl cpan 模块 sapnwrfc

http://strawberryperl.com 安装当前的 Strawberry Perl 64 位软件包。就我而言,它是 5.24.1.1。

https://launchpad.support.sap.com/#/softwarecenter 下载当前版本的 SAP NW RFC SDK x64 位

你可以通过以下跟踪找到它: 支持包和补丁=>按类别=>其他组件=> SAP NW RFC SDK => SAP NW RFC SDK 7.20

在我的情况下,当前版本是 7.20 PL42 x64。

使用 sapcar -xvf NWRFC_42-20004568.SAR 解压缩下载的文件

我将文件夹重命名为 C:\nwrfcsdk_x64

使用目录 C:\ nwrfcsdk_x64 中的以下命令为 MinGW 编译器/链接器创建 .def 和 .a 文件:

gendef *.dll
dlltool --dllname icuin34.dll --def icuin34.def --output-lib icuin34.a
dlltool --dllname icudt34.dll --def icudt34.def --output-lib icudt34.a
dlltool --dllname icuuc34.dll --def icuuc34.def --output-lib icuuc34.a
dlltool --dllname libsapucum.dll --def libsapucum.def --output-lib libsapucum.a
dlltool --dllname libicudecnumber.dll --def libicudecnumber.def --output-lib libicudecnumber.a
dlltool --dllname sapnwrfc.dll --def sapnwrfc.def --output-lib sapnwrfc.a

在 dircectory C:\ nwrfcsdk_x64 \ lib 中,应存在以下文件:

icudt34.a          
icudt34.def        
icudt34.dll        
icuin34.a          
icuin34.def        
icuin34.dll        
icuuc34.a          
icuuc34.def        
icuuc34.dll        
libicudecnumber.a  
libicudecnumber.def
libicudecnumber.dll
libsapucum.a       
libsapucum.def     
libsapucum.dll     
libsapucum.lib     
sapdecfICUlib.lib  
sapnwrfc.a         
sapnwrfc.def       
sapnwrfc.dll       
sapnwrfc.lib       

使用 cmd.exe 启动命令提示符并启动程序 cpan

启动命令 get sapnwrfc 从 CPAN 下载 Perl 模块 sapnwrfc。

使用 exit 命令保留 cpan 环境。将目录更改为 C:\Strawberry\cpan\build\sapnwrfc-0.37-0

使用以下命令构建 Makefile。根据你的设置调整文件夹名称。

perl Makefile.PL --source=C:\nwrfcsdk_x64 --addlibs "C:\nwrfcsdk_x64\lib\sapnwrfc.a C:\nwrfcsdk_x64\lib\libsapucum.a"

运行命令 dmakedmake install 来构建和安装模块。

将文件从 C:\nwrfcsdk_x64\lib 复制到 C:\Strawberry\perl\site\lib\auto\SAPNW\Connection