7
votes

Comment compiler le code à l'aide de #include

J'essaie de compiler un code C ++ utilisant des threads:

c:\temp\app1\app1\app1.cpp(6): fatal error C1083: Cannot open 
include file: 'thread': No such file or directory


~/Documents/C++ $ g++ -o thread1 thread1.cpp -D_REENTRANT -lpthread
In file included from /usr/include/c++/4.5/thread:35:0,
                 from thread1.cpp:2:
/usr/include/c++/4.5/bits/c++0x_warning.h:31:2: error: #error This file 
requires compiler and library support for the upcoming ISO C++ standard, 
C++0x. This support is currently experimental, and must be enabled with 
the -std=c++0x or -std=gnu++0x compiler options.


3 Réponses :


3
votes

Oui, le fichier d'en-tête est uniquement standard dans la norme C ++ 11 (finalisée cette année seulement).

avec GCC, vous aurez besoin de la dernière version 4.6 , et même avec elle, et non, tout est pris en charge de la norme C ++ 11. Voir Cette table


0 commentaires

9
votes

et la suppression de threading standard est une nouvelle fonctionnalité (définie dans la norme C ++ 11). Quant à g ++, vous devez activer l'ajout -std = c ++ 0x à la ligne de commande, comme expliqué dans le message d'erreur.

Aussi, vous utilisez un non standard (spécifique Microsoft ) Main, utilisez le "Code classique" principale et normal char : xxx

avis que tout c ++ 11 Les fonctionnalités sont disponibles dans les compilateurs actuels; En ce qui concerne G ++, vous pouvez trouver le statut de leur implémentation ici .


1 commentaires

@Alphabravo: Pas exactement, il y a Certaines garanties ; En outre, dans ce cas spécifique, il n'y a qu'un seul fil en l'utilisant, donc c'est sûr.



2
votes

Aussi loin que MSVC se passe, l'en-tête C ++ 11 n'est pas pris en charge dans VS2010 - vous devez extraire un aperçu du développeur de Visual Studio 11 (http: / /msdn.microsoft.com/en-us/vstudio/hh127353) Pour l'essayer aujourd'hui.

voir http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx pour plus de détails sur ce qui est nouveau en C ++ pour Visual Studio 11.

En outre, mon fichier PDF du livre (qui est en pré-publication pour le moment) a la définition suivante de principal () : < Pré> xxx

qui évite les problèmes que vous rencontrez avec _tchar non défini dans GCC.


0 commentaires