我正在爲我的應用程序使用Boost(1.47.0自編譯)和MinGW 4.6(用於C++ 0x功能),但我在Boost的JSON解析代碼中得到了一些警告(我使用-Werror)。MinGW和Boost警告錯誤?
我不會在Linux或MSVC中得到這些錯誤(MSVC Boost是從完全相同的源代碼樹自編譯的)。以下是他們指出的錯誤和線條。
boost\property_tree\detail\json_parser_write.hpp|35|error: comparison is always true due to limited range of data type [-Werror=type-limits]
if (*b == 0x20 || *b == 0x21 || (*b >= 0x23 && *b <= 0x2E) ||
(*b >= 0x30 && *b <= 0x5B) || (*b >= 0x5D && *b <= 0xFF))
result += *b;
boost\property_tree\detail\json_parser_read.hpp|115|error: unused parameter 'e' [-Werror=unused-parameter]
void operator()(It b, It e) const
{
c.string += *b;
}
的錯誤似乎聲音,但沒有辦法,我就是缺少一個解決方法嗎?
我猜Boost軟件包每個平臺都不一樣? – Jookia
不,在這種情況下,它是編譯器(以及它默認的'char'),這是不同的,而不是包本身。 – fileoffset
我還沒有得到Linux上未使用的參數'e'問題,並且沒有找到一種方法來更改在MinGW上簽名的默認字符。 – Jookia