根据 Andrew Sutton 的说法,Concepts Lite 工作的 git 镜像已完全过时,不应使用。在 svn 存储库中有一个概念分支,用于gcc实现“concepts-lite”(C++11 之前的努力将概念添加到 C++,但被放弃了;使用名称开始向 C++ 添加概念的新努力概念精简版)。构建起来相当简单(假设您已经安装了最近的 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
确实存在,但似乎无条件地做一些与启用概念精简版不同的事情。相反,您将在-std=c++1z
启用概念的情况下进行编译时使用该选项。