знатокам g++ [g++ -pedantic ругается на long long в boost]
Либо -std=c++0x, либо -Wno-long-long
-std=c++0xно ведь слишком рано переходить на свежеиспеченный стандарт
либо -Wno-long-longэто ведь то же самое что и закрыть глаза на проблему а не решить её.
Задача тут не скомпилировать кое как исходник а найти правильное решение.
Решение проблемы наверняка надо искать в самой библиотеке boost.
Кажется что то интересное нашёл, это - boost/cstdint.hpp
Пока что ботаю
но ведь слишком рано переходить на свежеиспеченный стандартБудь в тренде.
это ведь то же самое что и закрыть глаза на проблему а не решить её.Тогда фиксить буст.
Лично я использую c++11 и мои волосы становятся мягкими и шелковистыми.
я бы забил, ибо long long - вполне легальный тип в свежем стандарте
ибо long long - вполне легальный тип в свежем стандарте
значит правильное решение будет
-Wno-long-longдо тех пор пока не перейдем на новый стандарт, главное, чтоб код можно было портировать без особых усилий
всем спасибо
Лично я использую c++11 и мои волосы становятся мягкими и шелковистыми.выбор версии компилятора не полностью от меня зависит,
в больших компаниях есть кое какие стандарты за рамки которых выходить нельзя
Оставить комментарий
Ventalf
Знатокам g++ и педантичным любителям использовать опцию -pedantic.Достаточно импортировать
в исходный файл и копмилировать с опцией
и компилятор начинает ругаться
использую boost 1_49_0 и gcc 4.2.1
Как я понимаю суть проблемы заключается в том, что в предпоследнем стандарте С++ нет места для типа "long long", но почему то в довольно современной версии библиотеки boost используется данный тип на что и компилятор с опцией "-pedantic" жалуется.
В текущей версии компилятора с опцией "-pedantic" использования long long интерпретируется как предупреждение, но нет гарантии что в новой версии компилятора использование long long станет недопустимым
Конечно можно выключить опцию "-pedantic" и всё будет работать без проблем, но все же может быть есть более правильное решение проблемы?