使用免费软件在 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 用作调试和调用我的nmak
e 脚本的工具。这样做的缺点是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
urlmon.dll FindMimeFromData() 在 64 位桌面/控制台上完美运行,但在 ASP.NET 上生成错误
urlmon.dll FindMimeFromData() 在 64 位桌面/控制台上完美运行,但在 ASP.NET 上生成错误
urlmon.dll FindMimeFromData() 在 64 位桌面/控制台上完美运行,但在 ASP.NET 上生成错误