gpt4 book ai didi

c++ - clang 不知道 std::atomic_bool,但 XCode 知道

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:15 24 4
gpt4 key购买 nike

我正在尝试编译声明 std::atomic_bool 类型变量的 C++11 代码。这是在带有 clang 的 Mac OS 10.8.2 上:

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 定义了“一个命名类型 atomic_bool 对应于指定的 atomic<bool> ”,但是 clang doesn't support that .

重命名来自 atomic_bool 的类型至 atomic<bool>修复它。

关于c++ - clang 不知道 std::atomic_bool,但 XCode 知道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14136128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com