C++ decNumber库-编译问题

C++ decNumber库-编译问题,c++,decimal-point,C++,Decimal Point,我在编译decNumber时遇到问题,源代码在这里(包括需要删除的示例等) 有人成功编译过这个吗?非常感谢您的评论 编译器由于以下指令而发出错误: #if !defined(QUAD) #error decBasic.c must be included after decCommon.c #endif (这是deccomon.c中的一小部分代码,decBasic.c是另一个源文件) 代码作者在注释中声明这两个源文件是共享的。没有相应的.h文件 我使用64位Windows 7,使用32位Vis

我在编译decNumber时遇到问题,源代码在这里(包括需要删除的示例等)

有人成功编译过这个吗?非常感谢您的评论

编译器由于以下指令而发出错误:

#if !defined(QUAD)
#error decBasic.c must be included after decCommon.c
#endif
(这是deccomon.c中的一小部分代码,decBasic.c是另一个源文件)

代码作者在注释中声明这两个源文件是共享的。没有相应的.h文件

我使用64位Windows 7,使用32位Visual Studio 2010进行编译


提前感谢您的帮助。

decNumber未处于原始形式的可编译状态,因为它需要一些源代码修改以包含标准整数类型。 QDecimal库通过使用稍微修改过的decNumber版本来处理此问题。 有关详细信息,请参见QDecimal项目:


使用Visual Studio 2010进行编译时,不要将
decBasic.c
deccommon.c
包含到项目中。这些文件仅包括,不应单独编译。就我而言,我只使用了
decDouble
模块,我的项目设置如下:

  • 头文件
    • decontext.h
    • decdool.h
    • decDPD.h
    • decnumberlocal.h
    • decQuad.h
  • 源文件
    • decontext.c
    • decdool.c
    • decQuad.c

此外,文件
decBasic.c
deccomon.c
位于
decQuad.c
所在的同一目录中。

decBasic.c和deccomon.c包含在特定实现文件(如decdoull.c)的底部。因此,您不应该编译decBasic.c或deccomon.c,而应该将它们视为头文件

如果查看包含的MAKE文件,可以看到编译目标是什么:缺少decBasic和deccomon


如果您使用的是Visual Studio,则可以添加decBasic.c和deccomon.c作为标题,这样它们会出现在项目中,但不会被编译。

您可能需要尝试std::decimal::decimal32等。。。因为它已经被添加到C++ STD中,我怀疑你指的是GCC编译器吗?我相信他们添加了这个类型(实际上在引擎盖下的decNumber上运行!),但我相当肯定decimal类型从未进入标准,所以我怀疑visualstudio是否会支持它。在这两种情况下,非常感谢您的评论。注意QDimple依赖Qt,这意味着它不是独立的C++库。