使用免费软件在 Windows 上生成 64 位版本

Posted

技术标签:

【中文标题】使用免费软件在 Windows 上生成 64 位版本【英文标题】:Producing 64-bit builds on Windows with free software 【发布时间】:2009-02-07 14:28:16 【问题描述】:

我有一个使用 Microsoft Visual C++ 2008 Express Edition 开发的 C++ 项目。它已经到了我想移植到 64 位并继续开发的地步。

使用免费软件的最佳方法是什么?


到目前为止我的想法:

MSVC Express Edition 不附带 64 位编译器,因此我可以安装 Windows SDK 来获得这些。然后我可以将我的项目文件移植到nmake,并将IDE 用作调试和调用我的nmake 脚本的工具。这样做的缺点是nmake 看起来很差。 this tutorial 末尾的示例表明 nmake 无法确定源文件依赖关系本身,而且我不知道有任何可以使用的与 gcc -M 等效的东西。

另一种选择可能是使用 Windows SDK 中的 vcbuild 从我现有的 vcproj 文件生成 64 位版本。初步调查表明这并没有真正起作用,因为我的项目文件没有 64 位配置。 (也许我可以通过在文本编辑器中将 64 位配置添加到 vcproj 文件中来捏造这一点。)

最后的选择可能是放弃 MSVC,并将我的项目移植到 MinGW/MSYS 工具链。

【问题讨论】:

使用 MSVC Express 有什么问题?它可以配置为使用 Win SDK 编译器。这不是解决问题吗? 【参考方案1】:

您可以使用 makedepend 作为 gcc -M 的替代品。 Here 是关于此方法和其他生成依赖项的方法的入门指南。

您也可以尝试 autoconf+automake 组合,但它需要一些工作才能使其使用 MSVC 的编译器。 Some 已成功完成此操作。

【讨论】:

【参考方案2】:

如果您想将 Windows SDK 编译器与 GNU make 或其他构建系统一起使用,您可以编写一个程序/脚本,将 cl.exe /showIncludes 的输出转换为与您的构建系统兼容的格式。

【讨论】:

以上是关于使用免费软件在 Windows 上生成 64 位版本的主要内容,如果未能解决你的问题,请参考以下文章

Windows7SP1补丁包(Win7补丁汇总) 32位/64位版 更新截至11月

windows 7 + vs2010 sp1编译 x64位版qt4

SAS(统计分析软件)下载 v9.4 64位版 附安装教程

urlmon.dll FindMimeFromData() 在 64 位桌面/控制台上完美运行,但在 ASP.NET 上生成错误

urlmon.dll FindMimeFromData() 在 64 位桌面/控制台上完美运行,但在 ASP.NET 上生成错误

urlmon.dll FindMimeFromData() 在 64 位桌面/控制台上完美运行,但在 ASP.NET 上生成错误