c++ - XCode std::thread C++

标签 c++ xcode multithreading

对于一个学校的小项目,我需要创建一个简单的客户端/服务器结构,它将在路由器上运行(使用 openWRT),我正在尝试在这个应用程序中使用线程做一些事情。

我的 C++ 技能非常有限,所以我在 internet 上找到了这个作为一个基本的例子。

#include <thread>
#include <iostream>

void doSomeWork( void )
{
    std::cout << "hello from thread..." << std::endl;
    return;
}

int main( int argc, char *argv[] )
{
    std::thread t( doSomeWork );
    t.join();
    return 0;
}

当我尝试在 Xcode (4.5.2) 中运行它时,我收到以下错误:

Attempt to use an deleted function

它显示了一些代码:

__threaad_execute(tuple<_Fp, _Args...>& __t, __tuple_indices<_Indices...>)
{
    __invoke(_VSTD::move(_VSTD::get<0>(__t)), _VSTD::move(_VSTD::get<_Indices>(__t))...);
}

我想我需要对“build设置”或“链接库”或其他东西做些什么?但我不太确定该怎么做。我想我可能需要设置以下设置(which i found here)

  • 在项目的“build设置”选项卡中,向下滚动到“Apple LLVM Compiler 4.1 - 语言”
  • 将设置“C++ 语言方言”设置为“C++11 [-std=c++11]”
  • 将设置“C++ 标准库”设置为“libc++(支持 C++11 的 LLVM 标准 C++ 库)”

但是那些已经设置好的设置。

是否有任何标志/库或我缺少的东西?

最佳答案

在 XCode 中使用 G++ 而不是 LLVM。不要忘记在编译器build设置中链接线程库(-lpthread - 或 -pthread、-lrt)。并计算跨 Win/Mac/Linux 操作系统的线程行为差异(尽管它是 POSIX)

关于c++ - XCode std::thread C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14011955/

相关文章:

C++ 贷款合格金额

c++ - 如何使用 openssl lib pem_read 从字符串中读取公钥/私钥

ios - 椰子足 : ios app and osx test dependencies

xcode - TARGET_OS_IPHONE在编译时失败

c# - C# 中的空合并运算符 (??) 是线程安全的吗?

c# - 如何让 bulletphysics/bulletsharps 的多线程工作?

c# - 在 C# 中运行线程时在 GUI 中显示消息

c++矩阵模板库需要用于神经网络计算

c++ - 使用并行编程 C++ 计算/访问 vector

iphone - UIAlertViewStylePlainTextInput 返回键委托(delegate)