OpenDDS踩坑-perl Win32-Process错误
perl Win32-Process错误
在windows 10, + Active perl 5.28.1 环境下,构建完成OpenDDS,用mwc.pl生成TAO、OpenDDS测试项目或示例项目,并用vs2015正确编译生成相应的运行程序。
【问题】在项目路径下用perl run_test.pl
启动测试程序。不能启动运行pl程序,报 Win32-Process
模块为安装错误。
【原因】Active Perl 5.28不支持安装’Win32-Process’模块。
【解决步骤】
A)先卸载你安装的ActivePerl软件,如Active Perl 5.28。
B)下载安装ActiveState和Perl。
C)安装Win32-Process模块。
D)运行 perl run_test.pl。
1、获得ActiveState远程安装命令行、安装ActiveState和Perl 5.34
1)注册ActiveState用户
访问https://www.activestate.com/products/perl/,注册用户。
2)选择下载 ActiveState Perl 5.34
访问https://www.activestate.com/products/perl/
登录后,选择Perl 5.34 install.获得一个远程安装命令串。
远程安装ActiveState-Perl的命令如:
powershell -Command "& $([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://platform.activestate.com/dl/cli/_pdli01/install.ps1'))) -c'state activate --default user-name/Perl-5.34.0-Windows'"
【注意】其中“user-name”是你注册的用户名。
3) 安装ActiveState
以管理员运行windows cmd控制台。运行上面的命令行。【注意】其中“user-name”修改为你注册的用户名。
等待安装脚本从网上下载并完成远程安装。
4) 检查安装
a)控制台运行perl -v
输出:
This is perl 5, version 34, subversion 0 (v5.34.0) built for MSWin32-x64-multi-thread
Copyright 1987-2021, Larry Wall.
....
b)控制台运行命令行state install --help
输出:
Add a new package to your project
Usage:
state install [flags] <name[@version]>
表示安装成功。
2、安装Win32-Process模块
- state安装Win32-Process
以管理员身份启动控制台 。输入命令:
state install Win32-Process
【注意】需要连接网络,等待从网上下载并安装完成模块。
3、重新测试运行
完成安装后,即可正常使用 perl 运行OpenDDS的run_test.pl脚本。并能够运行 perl … mwc.pl 构建c++ vcxproj项目和解决方案 SLN。如:
perl %ACE_ROOT%\MPC\mwc.pl -type VC14 Test_DCPSMessage.mwc
【注意问题】ActiveState Perl 5.34,可能用在其它生成项目时会有兼容问题。如生成openssl-1.0.1时,ActiveState Perl 5.34生成会出问题。