библиотека decNumber - проблемы с компиляцией - PullRequest
1 голос
/ 18 февраля 2012

У меня проблемы с компиляцией 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 - другой исходный файл)

Автор кода заявляет в комментариях, что эти 2 исходных файла являются общими. Нет соответствующих .h файлов.

Я нахожусь на 64-битной Windows 7, компилируюсь с 32-битной Visual Studio 2010.

Заранее благодарю за помощь.

Ответы [ 3 ]

1 голос
/ 16 апреля 2012

decBasic.c и decCommon.c включены в нижнюю часть файлов конкретной реализации (таких как decDouble.c).Итак, вы не должны компилировать decBasic.c или decCommon.c, а обращаться с ними как с заголовочными файлами.

Если вы посмотрите на включенный файл MAKE, вы увидите, каковы цели компиляции: decBasic и decCommonотсутствует.

Если вы используете Visual Studio, вы можете добавить decBasic.c и decCommon.c в качестве заголовков, чтобы они появлялись в проекте, но не компилировались.

0 голосов
/ 21 марта 2012

При компиляции с 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.

0 голосов
/ 14 марта 2012

decNumber не находится в состоянии компиляции в исходном виде, так как требует некоторых модификаций исходного кода для включения стандартных целочисленных типов.Библиотека QDecimal решает эту проблему, используя слегка измененную версию decNumber.Пожалуйста, смотрите QDecimal проект для деталей:

http://code.google.com/p/qdecimal/

http://code.google.com/p/qdecimal/source/browse/doc/INSTALL.txt

...