【问题标题】:Move C++ app with Boost from Linux to Windows with Visual Studio 6使用 Visual Studio 6 将带有 Boost 的 C++ 应用程序从 Linux 迁移到 Windows
【发布时间】:2011-01-17 13:38:43
【问题描述】:

2 年前,我在 Linux 中使用 Boost 制作了一个小程序。现在我想让它在 Windows 中工作。我发现我的 libs 文件夹中的 .a 文件很少。我想知道如何使它在Windows中工作?我需要在 Windows 中构建 Boost 以获取库还是可以在某处下载?我正在使用 Visual Studio 6。

【问题讨论】:

  • 除此之外,我担心最新的提升首先会与 VS6 一起使用
  • Boost 在尝试让它在旧编译器上工作方面做得很好,但是那个编译器严重 ick。
  • Visual C++ 比第一个 C++ 标准早两年发布,因此它对当前 C++ 版本的支持非常不完整和损坏。升级到 2000 年代制造的编译器。
  • 你能把标题改成更具描述性吗?

标签: c++ visual-studio boost


【解决方案1】:

是的,您需要针对不同的平台重新编译。巧合的是,我在这个not long ago上发布了说明。

非常建议您不要使用 Visual Studio 6。它已经过时了,而且非常不符合标准。您可以免费获得较新的版本,如 Express。你不会错过任何东西。

【讨论】:

  • 好的,我可以使用VS 2003,那么如何设置构建参数?
  • 我应该卸载旧的 VS6.0 并安装 2003 吗?还是直接安装而不卸载我的旧 6.0?
  • @5YrsLater:他们可以住在一起。 :)
【解决方案2】:

许多 boost 库仅包含标头,您无需链接任何内容即可使用它们。 boost::filesystem 等库要求您构建适合您平台的库并链接到它们。

MSVC7,8,9的预编译boost可以在here 找到(希望你听从GMan的建议,摆脱VS6……)

【讨论】:

    【解决方案3】:

    来自 Unix 的.a 文件类似于 Windows 中的.lib 文件。它们不会工作,也没有办法“转换”它们,除非在原始源代码上使用编译器。

    不过,Boost 确实是在 Windows 上构建的。只需下载它(或者更有可能是您能找到的与您的代码使用的版本最接近的版本)。

    旧版本的 Boost 确实可以在 VS6 下工作,但禁用了很多东西(VS6 实际上只是几乎符合 C++ 编译器的要求)。如果可以,我强烈建议您使用更新版本的 Visual Studio。

    【讨论】:

      【解决方案4】:

      您有几个选择。构建 Boost 将为您在使用应用程序和 Boost 库时提供最大的灵活性。但是,您可以在此处下载包含在一个不错的 Windows 安装程序中的预构建 Boost 库,Boost Packages

      但要记住一件事,取决于您在 Boost 中使用的内容,其中很多是基于模板的,因此不需要库。如果您只使用一些模板化部分,则无需担心任何这些。只需确保在构建时您的包含路径有所提升。

      附带说明,您可以在此处获得免费但有限版本的较新 MS 编译器:http://www.microsoft.com/exPress/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-01-19
        • 1970-01-01
        • 2014-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多