【问题标题】:How to use boost::multiprecision::float128 in visual studio 2010如何在 Visual Studio 2010 中使用 boost::multiprecision::float128
【发布时间】:2015-09-27 17:34:59
【问题描述】:

我正在尝试在 Visual Studio 2010 中使用 boost::multiprecision::float128。我找到了这个链接

How to make boost multiprecision library work in Visual Studio 2010?

但我仍然遇到错误。

1>c:\mingw\lib\gcc\mingw32\4.8.1\include\quadmath.h(32): 错误 C2144: 语法错误: 'float' 前面应该有 ';'

1>c:\mingw\lib\gcc\mingw32\4.8.1\include\quadmath.h(32):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int

要遵循的具体步骤是什么。完整的分步指南将非常有帮助。

【问题讨论】:

  • 除了缺少任何代码(您应该发布一个示例)之外,您谈到了 Visual Studio,然后报告了一个错误,让人认为您正在使用 mingw。
  • @marom:你没有阅读文森特链接的问题,是吗?
  • 这是,tbh,该问题的副本。为什么要转发?

标签: c++ visual-studio-2010 boost


【解决方案1】:

Boost 中的 float128 数字类型是 GCC 的 __float128 或 Intel 的 _Quad 数据类型的一个非常薄的包装器。这意味着您需要 GCC 或 Intel C++ 编译器。它不适用于 Microsoft Visual C++。

【讨论】:

    【解决方案2】:

    最终,这整个“从 GCC 中提取 quadmath.h”的东西是不受支持的 hack,可能是以前的人只是幸运地获得了巧合兼容的版本......而你没有。我可能会建议使用 VS 官方支持的另一个库。

    【讨论】:

    • 我们只使用了 boost。不允许使用其他库。我还下载了 MINGW 到 C:\ 驱动器。以下是项目设置。 C/C++ => 常规 => 附加包含目录 C:\Boost_1_54_0 链接器 => 常规 => 附加库目录 C:\boost_1_54_0\lib C:\MinGW\lib 更改源文件 #include "C:\MinGW\lib \gcc\mingw32\4.8.1\include\quadmath.h" #include
    • @VincentAnthonySwamy:谁不允许?是谁说“你只能使用这一套库,不管它们是否能够实现我们的目标”?
    • 只是为了限制额外的库。但是有什么方法可以在 Visual Studio 2010 中使用 boost::multiprecision::float128。
    • @VincentAnthonySwamy:支持吗?
    • 支持 Boost #include "boost/chrono/chrono.hpp" 工作正常。但 #include 给出错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 2011-08-01
    • 2012-03-12
    • 2017-03-17
    • 1970-01-01
    相关资源
    最近更新 更多