【发布时间】:2012-02-05 16:33:05
【问题描述】:
我在 64 位 linux 内核上创建了一个 perl 脚本的可执行文件 (.exe)。它在这个环境中正确执行。
在 64 位 Windows 7 中运行可执行文件时,会显示以下错误消息:
此文件的版本与 Windows 的版本不兼容 你在跑。检查计算机的系统信息以查看 无论您需要 x86(32 位)还是 x64(64 位)版本的程序, 然后联系软件发行商。
鉴于源操作系统和目标操作系统都是 64 位,我不确定构建的体系结构是否是问题所在。是否有任何特殊注意事项可以使已编译的 perl 程序在 Windows 中正确执行?谢谢。
【问题讨论】:
-
您是否使用 windows 目标进行编译?获取一个 linux ELF 二进制文件并将其重命名为“myapp.exe”是行不通的。
-
嗨@MarcB。谢谢你的建议。不,我没有——你能告诉我如何为 Windows 目标编译吗?
-
@MarcB:顺便说一句,我是通过在 bash 中发出命令
pp -x -o out.exe in.pl来编译的。 -
这将编译一个 linux 可执行文件并将其命名为“out.exe”。它不会是 Windows PE 二进制文件,而是 Linux ELF 二进制文件,并且两者都不能在根本不同的操作系统之间移植。
标签: perl executable 32bit-64bit exe runtime-error