The correct programming practice, and this is ageneral rule, is to always put definitions in one place (normally an .h file). And when I say "definitions" I mean anything user defined or customized!
In this way the object is unanbiguously defined over the whole project (and if there is an error you have the same everywhere).
The example below shows the correct use of of the packing option.
........ //Some definitions
#pragma pack (push) //Save previous packing
#pragma pack (x) //Define required packing
........ //Packed definitions
#pragma pack (pop) //Restore previous packing
....... //Other stuff