2010-06-22 5 views
1

J'écris un plugin DLL pour une application Windows, après avoir ajouté ce qui suit comprend:C++ stimuler la catastrophe de compilation

#include <boost/archive/text_oarchive.hpp> 
#include <boost/archive/text_iarchive.hpp> 

J'obtiens une erreur merveilleuse compilation:

Error 3 error C2143: syntax error : missing ';' before '__cdecl' c:\program files (x86)\microsoft visual studio 9.0\vc\include\locale.h 111 LeverateMetaTraderServerAPI 

aide?

Répondre

2

quelqu'un qui est pas vraiment intelligent ajouté:

#define __declspec(dllexport) __stdcall APIENTRY 

à l'une des API fichiers .h votre incluant

+0

Alors, c'est la réponse? – manifest

+0

je ne comprends pas très bien la raison, mais fondamentalement yep –

4

Je ne suis pas une autorité sur C++, mais ce genre de chose arrive quand vous manquez un; hors de la fin de votre définition de classe.

2

Cette erreur est (avec une forte probabilité) non causée par Boost. C'est probablement soit le résultat d'un point-virgule manquant ailleurs dans votre code ou déclenché par un en-tête manquant qui laisse une macro non définie.