Bonjour,

J'ai une classe regroupant l'ensemble des param�tres globaux d'une application (il s'agit de T_Parametre dans le code).
Voulant ces param�tres disponibles de partout, j'ai voulu mettre sa d�claration dans stdafx.h.
Pour ne pas avoir une erreur de compilation, je suis oblig� de lui donner l'attribut static, ce qui correspond tout � fait � mon souhait, mais je ne comprends pas pourquoi (puisqu'il me semble que par d�finition les objets ou variables d�finis en dehors de tous bloc de code sont statiques).

Je veux rendre disponible cette structure dans une DLL externe : je me bats avec __declspec(dllexport) mais cette directive d'exportation semble contradictoire avec la clause static (doit avoir une liaison externe pour pouvoir �tre import�/export�).
Si je supprime static, le compilateur est content mais le linker m'annonce de nouveau que class T_Parametre * Parametres est d�j� d�finie (donc la m�me erreur qui m'a fait ajouter static).

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
 
// stdafx.h
#ifndef _DEPART_H_
#define _DEPART_H_
static __declspec(dllexport) T_Parametre* Parametres=new(T_Parametre);
#endif
Est-ce qu'un barbu pourrait tent� de m'expliquer ces 2 erreurs ?
Merci