我在编写decNumber http://speleotrove.com/decimal/时遇到问题,来源在这里http://download.icu-project.org/files/decNumber/decNumber-icu-368.zip(包含需要删除的示例等)
有没有人成功编译过这个?非常感谢您的评论!!
编译器因以下指令而发出错误:
#if !defined(QUAD)
#error decBasic.c must be included after decCommon.c
#endif
(这是decCommon.c的一小部分代码,而decBasic.c是另一个源文件)
代码的作者在评论中指出这两个源文件是共享的。没有相应的.h文件。
我使用的是Windows 7 64位,使用32位Visual Studio 2010进行编译。
提前感谢您的帮助。
答案 0 :(得分:1)
decBasic.c和decCommon.c在特定实现文件的BOTTOM中是#included(例如decDouble.c)。所以 - 你不应该编译decBasic.c或decCommon.c,而是将它们视为头文件。
如果查看包含的MAKE文件,可以看到编译目标是什么:缺少decBasic和decCommon。
如果您使用的是Visual Studio,则可以将decBasic.c和decCommon.c添加为标题,以便它们出现在项目中但不会被编译。
答案 1 :(得分:0)
decNumber不是原始形式的可编译状态,因为它需要一些源代码修改才能包含标准整数类型。 QDecimal库通过使用decNumber的略微修改版本来处理此问题。 有关详细信息,请参阅QDecimal项目:
http://code.google.com/p/qdecimal/
http://code.google.com/p/qdecimal/source/browse/doc/INSTALL.txt
答案 2 :(得分:0)
使用Visual Studio 2010
进行编译时,不要将decBasic.c
和decCommmon.c
包含在项目中。这些文件仅包含在内,不应单独编译。在我的情况下,我只使用decDouble
模块,我的项目设置如下:
decContext.h
decDouble.h
decDPD.h
decnumberlocal.h
decQuad.h
decContext.c
decDouble.c
decQuad.c
此外,文件decBasic.c
和decCommon.c
位于decQuad.c
所在的同一目录中。