2013-07-09 8 views
20


अभिवादन के साथ Win7 के तहत काम करने के लिए
हो रही std :: धागा/म्युटेक्स, MinGW और जी ++ 4.7.2

मैं हाल ही में मेरे यूनिक्स आश्रय से बाहर स्थानांतरित किया है एक माना जाता है कि पार मंच नेटवर्किंग पुस्तकालय केवल करने के लिए परीक्षण करने के लिए पता लगाएं कि mingw C++ 11 सामान खिलाया जाना पसंद नहीं है।

मुझे लगता है कि मुझे आवश्यक हेडर याद आ रहे हैं क्योंकि Win7 C++ 11 समर्थन के साथ पैक नहीं हुआ है।

यह वीएस2012
के साथ बस ठीक है लेकिन जी ++ इनकार करता है।

error: 'thread' in namespace 'std' does not name a type 
error: 'mutex' in namespace 'std' does not name a type 

सवाल यह है:

मैं C++ 11 हेडर की एक प्रति कैसे मिलता है/libs अर्थात < धागा> VS2012 स्थापना द्वारा प्रदान की लोगों का उपयोग किए बिना।

पीएस # 1 मैंने mingw-update अद्यतन करने का प्रयास किया लेकिन यह अभी भी < धागा नहीं मिला>
पीएस # 2 मैं भी -std = C++ 11


ईमानदारी से,
क्रिस का उपयोग कर रहा हूं।

+1

"rubenvb mingw threads gcc" जैसे कुछ के लिए googling आज़माएं और उन वितरणों में से एक डाउनलोड करें। और जब आप उससे मिलते हैं तो rubenvb को धन्यवाद देना न भूलें –

+1

[यहां बनाता है] (http://sourceforge.net/projects/mingwbuilds/?source=directory) थ्रेड का भी समर्थन करता है। Rubenvb बनाता है के लिए, 'प्रयोगात्मक-stdthread' वाले का उपयोग करें। –

+0

@ जेसे गुड ठीक है धन्यवाद! –

उत्तर

15

ये MinGW-W64 बनाता समर्थन सी ++ 11 सूत्र, परमाणु संचालन आदि

  1. MinGW-builds are now integrated into the MinGW-w64 project
  2. MinGW-builds (project is old and will not be updated, see point above)
  3. MinGW-W64 rubenvb 64-bit और 32-bit बनाता

ध्यान दें कि MinGW-w64 केवल 64-बिट नहीं है, लेकिन पुराना MinGW (.org) के विपरीत इसका समर्थन करता है, जिसमें बहुत से नए Vista + APIs और निश्चित रूप से 64-बिट समर्थन अनुपलब्ध है।

+0

rubenvb का निर्माण x86_64 के लिए काम करता है, लेकिन यह 32 बिट ऑब्जेक्ट फ़ाइलों को लिंक करने में विफल रहता है, क्योंकि इसमें 32 बिट libs की कमी है, दुख की बात है कि i686 build नहीं है। – Thomas

+1

@ थॉमस i686 के लिए एक अलग अनुभाग है ... google 'rubenvb i686'। –

+2

@ थॉमस 32 बिट: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/ –

4

देखो भी यहाँ: https://github.com/meganz/mingw-std-threads यह एक लाइटर, std :: धागा और दूसरों के देशी कार्यान्वयन है pthreads की Win32 बंदरगाह का उपयोग किए बिना।