尝试 vcvarsall.bat 后仍然存在 Unicode-Map-0.112 的 nmake 问题
非常感谢 ehemient 推荐尝试 vcvarsall.bat。
在 DOS 中成功运行了 vcvarsall.bat,它是 MS C++ Express 2008 的一部分
接下来我继续尝试使用 ppm 遵循 PerlMonks 的建议,即 http://www.perlmonks.org/?node_id=434813
所以我再次尝试制作,真正的nmake Unicode-Map-0.112。 我又收到一个问题:
C:\perl\lib\core\win32.h (61) : fatal error C1083: Cannot open include 文件:'windows.h':没有这样的文件或目录。 NMAKE: 致命错误 U1077: 'C:\Program Files\Microsoft Visual Studio 9.0\VC\Bin\Cl.exe:返回代码“0x2” 停止
我发现我确实有 Windows.h 文件: Windows.h 位于 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
我猜我也需要将 Windows.h 添加到 PATH 中。
这听起来正确吗?或者当我跌跌撞撞地前进时,我应该走另一条路线吗?
再次感谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
沿着这条路线走下去的问题是你的
perl
是使用不同的编译器编译的。 您最好下载该软件包并通过ppm
安装它,正如我在 如何使用 MS C++ Express 2008 在 Windows 上构建 Perl Unicode::Map?。为了使编译工作,您需要调用
SetEnv.cmd
脚本,您可以在vcvarsall.txt 后面的平台 SDK 安装的
脚本。Bin
目录中找到该脚本。 batThe problem with going down this route is that your
perl
was compiled using a different compiler. You are much better off downloading the package and installing it viappm
as I described in How do I use MS C++ Express 2008 to build Perl Unicode::Map on Windows?.As for the compilation to work, you need to invoke the
SetEnv.cmd
script which you can find in theBin
directory of your platform SDK installation after thevcvarsall.bat
script.您需要从使用您正在使用的 SDK 版本的变量初始化的环境中执行对 nmake 的所有调用。 (在您的情况下为 v6.0A)。
在开始菜单中,转到“Microsoft Windows SDK *”菜单文件夹,然后从那里启动 CMD shell。
在 CMD shell 中,
cd
到您的代码目录并从那里运行 nmake。You need to do all of your calls to nmake from an environment that is initialized with the variables for the SDK version you're using. (v6.0A in your case).
In your start menu, go to the 'Microsoft Windows SDK *' menu folder, and start the CMD shell from there.
Inside that CMD shell,
cd
to your code directory and run nmake from there.