2014-12-29 35 views
1

我想跑,我對Windows 7的開發和使用Visual Studio 2013編譯,在Ubuntu 14.04,使用Wine 1.6 C++程序。線程程序崩潰(Windows自帶OK)

正如預期的那樣,我得到了很多的錯誤,所以我想簡單的東西,而不是:

#include <iostream> 

int main() { 
    std::cout << "Hello main\n"; 
} 

我聯繫到C++運行時庫的靜態版本(Runtime Library設置爲/MT),所以我不會不需要任何.dll的。這工作得很好。

enter image description here

但後來我加了一些很簡單的線程:

#include <iostream> 
#include <thread> 

void call_from_thread() { 
    std::cout << "Hi from thread\n"; 
} 

int main() { 
    std::thread t(call_from_thread); 
    t.join(); 
    return 0; 
} 

這編譯和運行我的Windows機器(當然)的罰款,但運行它在Ubuntu上通過酒給了我一些醜陋錯誤: enter image description here

點擊「顯示詳細信息」顯示什麼和退出葡萄酒,但點擊「關閉」吐出更多的輸出: enter image description here

我又試了一次,這一次改變鏈接到C++運行時庫的共享版本(Runtime Library設置爲/MD),然後從我的C:/Windows/SysWOW64 Windows計算機上的目錄抓住msvcr120.dllmsvcp120.dll的葡萄酒使用。但是我收到了幾乎相同的錯誤消息。

通過谷歌搜索suggests該線程是由葡萄酒的支持,所以我不知道爲什麼我的計劃失敗。

+0

有什麼錯誤?疲憊的眼睛看不到文字。而網站和搜索引擎無法索引文本。文本需要被添加到問題中(它可以保留圖像,但我們需要文本)。 – jww

回答

0

升級到(目前33年7月1日)最新版本的葡萄酒,並用乾淨的WINEPREFIX做出的線程例子只是正常工作。自Wine 1.6於2013年7月發佈以來,我應該預料到這一點。