2012-02-18 44 views
1
我有編譯decNumber http://speleotrove.com/decimal/問題

,來源是這裏http://download.icu-project.org/files/decNumber/decNumber-icu-368.zip(包括需要刪除實例等)decNumber庫 - 編譯問題

有沒有人編譯成功呢?您的意見將非常感謝!

編譯器將發出錯誤如以下指令的結果:

#if !defined(QUAD) 
#error decBasic.c must be included after decCommon.c 
#endif 

(這是從decCommon.c和decBasic.c代碼的一小部分是另一個源文件)

的代碼的作者在評論中聲明這兩個源文件是共享的。沒有相應的.h文件。

我在Windows 7 64位,用Visual Studio 2010 32位編譯。

非常感謝您的幫助。

+0

您可能想要嘗試std :: decimal :: decimal32等...因爲它已被添加到C++ std中。 – kfmfe04 2012-02-18 07:27:37

+0

我懷疑你指的是GCC編譯器?我相信他們添加了類型(實際上在decNumber下運行!)但我確定小數類型從未將它納入標準,因此我懷疑Visual Studio會支持它。無論如何,非常感謝您的評論。 – CSLover 2012-02-22 21:29:44

回答

1

decBasic.c和decCommon.c被包含在特定實現文件的底部(如decDouble.c)。所以 - 你不應該編譯decBasic.c或decCommon.c,而是把它們當作頭文件。

如果您查看包含的MAKE文件,您可以看到編譯目標是什麼:decBasic和decCommon缺失。

如果您使用Visual Studio,則可以將decBasic.c和decCommon.c作爲標題添加,以便它們出現在項目中但不會被編譯。

0

Visual Studio 2010編譯不包括decBasic.cdecCommmon.c到項目中。這些文件是僅包含文件,不應單獨編譯。在我的情況下,我只使用decDouble模塊和我的項目的設置如下:

  • 頭文件
    • decContext.h
    • decDouble.h
    • decDPD.h
    • decnumberlocal.h
    • decQuad.h
  • 源文件
    • decContext.c
    • decDouble.c
    • decQuad.c

此外文件decBasic.cdecCommon.c是在decQuad.c所在的同一目錄中。