Question

J'obtiens beaucoup d'erreurs de compilation de code en utilisant les bibliothèques Boost, principalement lorsque j'utilise l'espace de noms Spirit. Les erreurs sont des erreurs de syntaxe sur les fichiers boost comme:

boost / spirit / home / classic / dynamic / lazy.hpp (33): erreur C2143: Erreur de syntaxe: manquant ';' Avant '<'

ou

boost / spirit / home / classic / dynamic / lazy.hpp (33): Erreur C4430: spécificateur de type manquant - Int supposé. Remarque: C ++ ne prend pas en charge par défaut-int

ou

Boost / Spirit / Home / Classic / Utility / Grammar_def.hpp (104): Erreur C2039: 'NIL_T': n'est pas membre de 'Boost :: Phoenix'

Je migre de Visual Studio 6 à Visual Studio 2008 Express et de l'une des plus anciennes versions de Boost au dernier.

J'aimerais savoir quel est le problème. Je pense que le problème ne peut pas être dans la bibliothèque Boost.

Était-ce utile?

La solution 2

Le problème a été résolu en incluant Phoenix1 l'ancienne version de Phoenix.

Autres conseils

Je suppose, comme Timi Geusch, est un #define errant.

Je n'ai jamais utilisé VS, mais s'il y a une option pour voir le code après avoir été transmis par le préprocesseur, vous pourriez être en mesure de déterminer ce qui cause le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top