不能在 clang 3.5 中包含 <condition_variable>

Posted

技术标签:

【中文标题】不能在 clang 3.5 中包含 <condition_variable>【英文标题】:Cannot Include <condition_variable> with clang 3.5 【发布时间】:2014-02-01 20:38:48 【问题描述】:

我在 debian 上安装了 clang 3.5,仅仅通过包含头文件我得到以下编译器错误:

/usr/include/c++/4.7/chrono:540:6: error: no matching constructor for 
initialization of 'duration' (aka 'std::chrono::duration<long long, std::ratio<1, 1000000> >')

完整的错误在这里(http://pastebin.com/raw.php?i=bnVuEmFg)

有谁知道如何解决这个问题?

【问题讨论】:

如果你 #include &lt;chrono&gt; 之前包含 &lt;condition_variable&gt; 怎么办? 我试过了,同样的错误。 条件变量头包含的chrono头中发生错误。 好的,然后使用&lt;condition_variable&gt; 中导致错误的行更新您的问题,以及所涉及类型的描述。并发布整个错误消息,clang 不会给出它尝试(不成功)匹配的构造函数的列表吗? 【参考方案1】:

根据@Marshall Clow 的说法,我的问题已通过 gcc 4.7.3 和 4.8 得到解决。

【讨论】:

-stdlib=libc++ 可能会避免这种情况。

以上是关于不能在 clang 3.5 中包含 <condition_variable>的主要内容,如果未能解决你的问题,请参考以下文章

在我的 WPF 应用程序安装程序中包含 SQLCE (3.5)

不能在 MinGW 中包含标头

为啥标识符可以在 C 中包含“$”? [复制]

不能在 Visual Studio 中包含 Python.h

不能在自定义通知中包含简单视图?

不能在 Linux 的 Matlab 中包含 OpenCV 函数