2015-11-12 82 views
0

我想測試下面的函數與std :: async爲靜態類,我的主要目的是等待,直到函數執行。但我面臨着以下錯誤。有人可以給我一個這個錯誤的原因。異步函數中的錯誤

IASD* ASDInterface = getASD();//gets the instance corrcet and tested function successfully 

auto habnd = std::async(std::launch::async, &IASD::handle_request, ASDInterface ,arb_id, sid, data, size); 

調試完上面的代碼後,我得到以下錯誤。

錯誤LNK2019:在功能__imp___CrtDbgReportW引用解析外部符號 「受保護:__thiscall併發::細節:: _ RefCounter :: _ RefCounter(長)」(?? 0_RefCounter @細節@ @@併發IAE @Ĵ@ Z)

可以有人回答我爲什麼我得到以上錯誤。

太謝謝你了。

+0

如果你想要「多線程調試/ MTd」或「多線程調試DLL/MDd」
運行函數異步也許嘗試http://www.tutorialspoint.com/cplusplus/cpp_multithreading.htm – ventaquil

+0

如果你不提供我不能幫你找出導致此錯誤的任何代碼。向我們展示一些代碼! 「閱讀教程」現在是最好的答案。 –

回答

1

我不認爲這是releted到std::async直接,
我懷疑有一個在代碼生成選項卡上的運行選項不匹配

確保在degub打造,「運行時庫」設置(項目 - >屬性 - >配置屬性 - > C/C++ - >代碼生成 - >運行時間庫)

+0

謝謝它的作品! –

+0

太好了,所以將其標記爲答案 –