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>固定它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |