首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCC 4.7,包括<stdatomic.h>

GCC 4.7,包括<stdatomic.h>
EN

Stack Overflow用户
提问于 2012-03-29 10:12:31
回答 3查看 2.9K关注 0票数 2

我刚刚编译了GCC 4.7来使用stdatomic.h,但是我似乎不能-I它。stdatomic.h似乎位于/usr/include/c++/4.4.3中,但随后链接器告诉我,它需要在附近的目录中放置一堆其他文件。如果我对它们全部执行-I操作,我仍然会得到错误undefined reference to atomic_flag_clear_explicit。你知道我该怎么把它联系起来吗?

EN

回答 3

Stack Overflow用户

发布于 2012-03-30 04:11:17

首先,如果你是用GCC 4.7编译的,你不应该包含或链接任何来自GCC 4.4目录的东西。

其次,-I只影响头文件的搜索路径。“未定义的引用”是一个链接器错误,通常意味着它没有找到正确的库。您可以使用-L更改库搜索路径。链接器并没有说它没有找到一个具有正确名称的库,它说它没有找到一个符号,所以很明显它找到的库没有那个符号。我建议你有一个版本问题,可能是由安装问题引起的。

票数 2
EN

Stack Overflow用户

发布于 2013-02-16 22:55:28

GCC 4.4和4.5中的头来自C++0x原子公司的早期草案,但不是最终标准的一部分,因此从libstdc++中删除了它。

C++编译器通过C++11标头支持C++11原子,因此您应该在C++代码中使用该标头。

当C编译器支持C11原子时,将再次提供头。

票数 2
EN

Stack Overflow用户

发布于 2021-03-31 14:41:05

使用这个命令为我解决了这个问题:

代码语言:javascript
复制
$ scl enable devtoolset-7 bash

在CentOS 7上安装Python3.8.5时,我在输入sudo make altinstall时遇到了与您相同的错误。

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

https://stackoverflow.com/questions/9918217

复制
相关文章

相似问题

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