Ошибка компиляции с мезосферой RENDLER

После попытки скомпилировать RENDLER Месосферы в C ++ с make allЯ получаю следующую ошибку:

$ make all
g++  -g -O2 -pthread -o rendler rendler.cpp -lmesos -lpthread -lprotobuf
In file included from /usr/local/include/stout/stringify.hpp:26:0,
from /usr/local/include/stout/bytes.hpp:26,
from /usr/local/include/mesos/resources.hpp:29,
from rendler.cpp:30:
/usr/local/include/stout/hashmap.hpp:43:32: error: expected ‘)’ before ‘<’ token
hashmap(std::initializer_list<std::pair<Key, Value>> list)
^
rendler.cpp:345:1: error: expected ‘}’ at end of input
}
^
In file included from /usr/local/include/stout/stringify.hpp:26:0,
from /usr/local/include/stout/bytes.hpp:26,
from /usr/local/include/mesos/resources.hpp:29,
from rendler.cpp:30:
/usr/local/include/stout/hashmap.hpp:40:14: error: expected unqualified-id at end of input
hashmap() {}
^
make: *** [rendler] Error 1

У меня установлены все перечисленные зависимости, а также соответствующие сторонние библиотеки в правильном пути включения. Я получаю ту же ошибку при попытке скомпилировать пример структуры в mesos/src/examples каталог. Что вызывает эту ошибку?

0

Решение

Этот кусок кода

     std::initializer_list<std::pair<Key, Value>>
// ^^^^^^^^^^^^^^^^^^^^^

вызывает ошибку

 error: expected ‘)’ before ‘<’ token

для pre stanadard c ++ 11 компиляторов, так как std::initializer_list был впервые представлен с ++ 11.

Большинство современных компиляторов, таких как GCC, позволяют устанавливать -std=c++11 вариант, который должен исправить вашу ошибку.

0

Другие решения


По вопросам рекламы [email protected]