加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – clang不知道std :: atomic_bool,但XCode确实如此

发布时间:2020-12-16 09:41:34 所属栏目:百科 来源:网络整理
导读:我正在尝试编译声明类型为std :: atomic_bool的变量的C 11代码.这是在Mac OS 10.8.2上使用clang: clang --versionApple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)Target: x86_64-apple-darwin12.2.0Thread model: posix clan
我正在尝试编译声明类型为std :: atomic_bool的变量的C 11代码.这是在Mac OS 10.8.2上使用clang:

clang --version
Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

clang抱怨std :: atomic_bool:

clang++ -c -stdlib=libc++ -msse4 -std=c++11 -Wno-unused-parameter -I. -o query.o query.cpp
In file included from query.cpp:1:
[...]
./threadutils.h:33:10: error: no type named 'atomic_bool' in namespace 'std'; did you mean 'atomic_long'?
    std::atomic_bool work;

但是,使用相同的编译器在XCode项目中编译相同的文件.所以我假设我在手动编译器调用中遗??漏了一些东西.

我尝试了一些变体,如-std = c 0x和-std = gnu 11,但无济于事.

解决方法

我想到了.不幸的是,我在我的问题中设置了一个错误的标志:它在XCode中也不起作用,我在那里导入了不同版本的源文件.

问题是C 11定义了“对应于指定原子< bool>”的命名类型atomic_bool,但是clang doesn’t support that.

将类型从atomic_bool重命名为atomic< bool>固定它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读