首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何建立gcc与C++概念(“概念小”)的支持?

如何建立gcc与C++概念(“概念小”)的支持?
EN

Stack Overflow用户
提问于 2015-05-17 18:02:22
回答 2查看 9.2K关注 0票数 44

C++标准委员会正在为概念扩展制定一个TS (技术规范):“编程语言--概念的C++扩展”。N4377是此文档的最新版本。要将其包含到C++标准特性中,需要实现,理想情况下,这是一个可公开访问的系统。

我知道概念-gcc,但上面的概念建议(俗称概念Lite)是不同的。我听说有一个概念分支,我试过origin/asutton/c++-conceptsgccgit镜像,但没有编译。我如何构建和使用一个版本的gcc支持概念,如上述草案TS?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-17 18:02:22

据安德鲁萨顿说,git镜子的概念,Lite的工作是完全过时的,不应该使用。在svn存储库中有一个概念分支,用于gcc实现“概念-lite”(在C++中进行了预C++ 11添加概念的工作,这被放弃了;使用名称概念lite开始了向C++添加概念的新工作)。构建是非常直接的(假设您已经安装了一个最近的gcc以及它所依赖的包;其他您可能想要传递的选项,请参阅gcc安装说明:下面的说明对我是有效的,但我明确指出configure位于安装gmpmpcmpfr的位置):

代码语言:javascript
复制
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确实存在,但似乎无条件地做了一些与启用概念不同的事情-- What。相反,在使用启用的概念进行编译时,可以使用-std=c++1z选项。

票数 26
EN

Stack Overflow用户

发布于 2015-08-26 15:25:32

到目前为止,2015年8月7日星期五01:44:49 -0400 (05:44 +0000)的概念支持已经融入gcc的主干。

使用从那以后开始的构建,您可以使用-std=c++1z标志启用概念支持。

从gcc 6.1 (27-04-2016)开始,概念由-fconcepts启用,因为它们不太可能包含在C++17中,所以它们已经从-std=c++1z中删除了。(在下面的评论中通过@BruceAdams )

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30290240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档