Ответ 1
По словам Эндрю Саттона, зеркало git работы Concepts Lite полностью устарело и не должно использоваться. В svn-репозитории существует ветвь понятий для gcc, реализующая "concept-lite" (было предпринято предварительное тестирование С++ 11 добавьте концепции на С++, который был оставлен, новая попытка добавить концепции в С++ была запущена с использованием именных понятий lite). Достаточно просто построить (предположим, что у вас уже есть последний gcc и пакеты, от которых он зависит от установленного, см. Инструкцию по установке gcc для других параметров, которые вы, возможно, захотите передать: приведенные ниже инструкции работали для меня, за исключением того, что я явно указал configure
в местах, где gmp, mpc, и mpfr):
cd <suitable-directory>
svn checkout svn://gcc.gnu.org/svn/gcc/branches/c++-concepts
mkdir build-concepts
cd build-concepts
../c++-concepts/configure --prefix=<concept-gcc-root> --disable-bootstrap --enable-languages=c,c++
make -j8
make install
Что не совсем очевидно, так это то, как на самом деле использовать понятия: опция -fconcepts
существует, но, по-видимому, безоговорочно делает что-то отличное от включения понятий-lite. Вместо этого вы должны использовать параметр -std=c++1z
при компиляции с включенными концепциями.