11
對於一個小型學校項目,我需要創建一個簡單的客戶端/服務器結構,它將在路由器上運行(使用openWRT),並且我正在嘗試在此應用程序中使用線程。XCode std :: thread C++
我的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))...);
}
我想我需要使用「構建設置」或「鏈接庫」來做些什麼?但我不確定該做什麼。我想我可能需要進行以下設置(which i found here)
- 在爲您的項目生成設置選項卡,向下滾動到「蘋果LLVM編譯器4.1 - 語言」
- 將設置「C++語言方言」到「 C++ 11 [-std = C++ 11]」
- 設置設置 「C++標準庫」 到 「的libC++(標準LLVM C++與C++ 11支持庫)」
但那些設置已經設置的地方。
是否有任何標誌/庫或我失蹤的東西?
您認爲您將在嵌入式平臺上獲得C++ STD嗎?再想一想。 – Linuxios
我不知道,OpenWRT是一個基於linux的系統。所以我想它會在那裏? – Matthijn
好吧,幾乎肯定會是C STD,但C++對於路由器來說可能有點密集。如果你需要線程並且C++不能工作,那就去Linux的'pthread'。另外,爲什麼您要在LLVM上的Xcode上開發Linux?你需要GCC和一些交叉編譯。 – Linuxios