Bonjour,

J'ai un programme C++ qui lit des fichiers binaires qui contiennent des structures. Je le compile avec MingW32, je suis sous Windows.
C'est structures m'imposent d'avoir un alignement 8 bits, j'ai donc ajouté la directive "#pragma pack(1)" qui fonctionne bien.

Par contre, quand je veux monter mon programme console avec une interface Qt4, le programme de l'interface ne fonctionne plus dès que j'ajoute la ligne "#pragma pack(1)" ?!

Pour compiler mon programme j'utilise la séquence suivante :
qmake -project
qmake -o Makefile MonProg.o
mingw32-make

Vous auriez une idée pour l'alignement 8 bits fonctionne avec un programme d'interface Qt ?

Si j'ajoute que la ligne "#pragma pack(1)" dans mon programme Qt, j'obtiens un exécutable qui produit ce message :
L'instruction à "0x004fd3ff" emploie l'adresse mémoire "0xed907b68". La mémoire ne peut pas être "read".

Si j'enlève juste cette ligne, mon interface fonctionne bien.

Vous pourriez faire l'essai juste en ajoutant la ligne "#pragma pack(1)" dans un de vos programme Qt ?

Vous auriez une idée comment forcer l'alignement des données à 8 bits avec Qt ?

Merci.