J'essaie d'exporter une variable globale à partir d'une DLL.Exportation de variables globales à partir de la DLL
.h
class Foo
{
public:
Foo()
{}
};
#ifdef PROJECT_EXPORTS
#define API __declspec(dllexport)
#else
#define API __declspec(dllimport)
#endif
API const Foo foo;
foo.cpp
#include "Foo.h"
const Foo foo;
Lorsque je compile le code ci-dessus, Visual Studio se plaint:
foo.cpp (3): erreur C2370: ' foo ': redéfinition; différentes classes de stockage 1> foo.h (14): voir la déclaration de 'foo'
Si j'utilise:
external const Foo foo;
dans .h le compilateur est heureux, mais la DLL n'exporte pas la symbole. J'ai réussi à exporter des fonctions avec des problèmes, mais les variables ne semblent pas fonctionner de la même manière ... Des idées?
Pourquoi -1? S'il vous plaît justifier votre downvote. – Gili