我们有一些非常古老的Perl脚本正在做一些数据库工作;脚本在Linux环境中运行,这已经过时了。一个带.pl的Perl脚本加载一个包(扩展名为.pm); .pm文件的代码如下:
use UDUNITS;
我的开发环境是安装了ActivePerl 5.2的Windows机器。我想我能够加载其他包很好,除了我无法在Windows二进制文件中找到UDUNITS包。
有一种方法来编译UDUNITS2包,每http://fossies.org/linux/udunits/udunits2.html#Windows但我无法使用CMake编译 - 获取错误。我第一次参加CMake。
那么我的选择是什么?我不想在Linux上发展,因为我没有专业知识;而且我认为在Windows中我可能只需要经历UDUNITS问题。
谢谢!
更新我现在使用命令行方式:cmake CC =" C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC \ bin \ cl.exe" CXX =" C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC \ bin \ cl.exe" -DEXPAT_LIBRARY = c:\ expat32 \ Bin \ libexpat.dll .. 我可以看到'配置完成'并且'生成完成'但是还没有找到像CUNIT这样的消息。构建文件被写入文件夹; 但DLL在哪里?如果这个问题太简单,我很陌生。
答案 0 :(得分:2)
您是否可以将NDUNITS2的CPAN版本用作替代品?看起来有两个:
答案 1 :(得分:0)
你真的想做什么?你真的需要什么?因为有纯粹的perl替代品
答案 2 :(得分:0)
没关系,好心人和#39;来自Github的帮助(见https://github.com/Unidata/UDUNITS-2/issues/18),我现在可以使用以下代码进行编译: 1)从Source Forge将Exat 32库下载到c:\ expat32
2)从https://github.com/Unidata/UDUNITS-2下载UDUNITS2并解压缩到本地文件夹。
3)使用命令行选项下载并安装CMake 3.2
4)从新创建的' build'中删除以下两个命令。步骤#2中解压缩文件夹内的文件夹:
cmake .. -DCMAKE_PREFIX_PATH=c:\expat32 -G "Visual Studio 11" -DEXPAT_INCLUDE_DIR=C:\expat32\Source\lib -DEXPAT_LIBRARY=c:\expat32\Bin\libexpat.lib
cmake --build . --config Release
现在我可以在里面看到udunits2.dll:UDUNITS-2-master \ build \ lib \ Release
文件夹。 现在,我需要弄清楚如何在我的PERL脚本中使用这个DLL ...
谢谢大家的帮助!