Я все еще собираю Firefox OS для Nexus 7 (grouper) с помощью Ubuntu 13.10.
(Следуйте инструкциям от: https://wiki.mozilla.org/B2G/Nexus7 )
После исправления множества проблем я столкнулся с проблемой.
Сообщения об ошибках показали:
...
../../dist/include/mozilla/BloomFilter.h: In static member function 'static bool mozilla::BloomFilter<KeySize, T>::full(const uint8_t&)':
../../dist/include/mozilla/BloomFilter.h:160:60: error: 'UINT8_MAX' was not declared in this scope
...
make[7]: *** [TestBloomFilter.o] Error 1
make[7]: *** Waiting for unfinished jobs....
...
make[6]: *** [libs] Error 2
И я проверил код ../mbft/BloomFilter.h.
Я думаю, что UINT8_MAX может быть определен путем включения файла, который является mozilla / StandardInteger.h
(1). BloomFilter.h часть содержимого:
#ifndef mozilla_BloomFilter_h_
#define mozilla_BloomFilter_h_
#include "mozilla/Assertions.h"#include "mozilla/Likely.h"#include "mozilla/StandardInteger.h"#include "mozilla/Util.h"
#include <string.h>
...
(2). Содержимое StandardInteger.h:
#ifndef mozilla_StandardInteger_h_
#define mozilla_StandardInteger_h_
#if defined(MOZ_CUSTOM_STDINT_H)
# include MOZ_CUSTOM_STDINT_H
#elif defined(_MSC_VER) && _MSC_VER < 1600
# include "mozilla/MSStdInt.h"#else
# include <stdint.h>
#endif
#endif /* mozilla_StandardInteger_h_ */
Я добавил var UINT8_MAX в BloomFilter.h, но там было больше подобных ошибок, таких как «UINT32_MAX не был объявлен …».
Как я могу правильно включить правильные переменные?
Спасибо !
Задача ещё не решена.
Других решений пока нет …