gpt4 book ai didi

c++ - shared_timed_mutex 在 OS X 10.11.2 上不可用?

转载 作者:行者123 更新时间:2023-11-30 01:45:30 25 4
gpt4 key购买 nike

我正在尝试使用 Eclipse CDT 4.5.0 在 OS X 10.11.2 上使用来自 C++ 14 的新 shared_timed_mutex 结构。 Xcode 是 7.2。我正在使用具有以下选项的 GCC C++:

-O0 -g3 -Wall -c -fmessage-length=0 -std=c++14

她是我得到的:

Invoking: MacOS X C++ Linker
g++ -o "MyProject" ./src/main.o
Undefined symbols for architecture x86_64:
"std::__1::shared_timed_mutex::shared_timed_mutex()", referenced from:
HashMap<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<int> >::HashMap() in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这是我的 clang 版本信息:

 Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.2.0
Thread model: posix

我在网上搜索了一下,找到了一些建议,例如 Reddit 上的这个:

https://www.reddit.com/r/cpp_questions/comments/3ejfkr/is_c14s_stdshared_timed_mutex_available_on_os_x/

这非常接近我的问题,我已经尝试过这些建议,但我希望,我不必手动下载 libc++,而是可以坚持使用我的系统附带的标准库。

谢谢!

最佳答案

在过去的两年里(在我写这篇文章的时候)Apple 更新了他们工具版本的 libc++ 头文件,但没有更新 libc++ 源代码。而 libc++ 实现了 std::shared_time_mutex都在 <shared_mutex>在 shared_mutex.cpp 中。

关于c++ - shared_timed_mutex 在 OS X 10.11.2 上不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34533764/

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