Question: I try to validate my code, but i get a few error, and i need help with this:

I get a few error for this:

1. **end tag for "param" omitted, but OMITTAG NO was specified**
2. **cannot generate system identifier for general entity "color"**
3. **general entity "color" not defined and no default entity**

4 **reference not terminated by REFC delimiter**

```
>     > <object
>     > classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
>     > codebase="http://macromedia.com/cabs/swflash.cab#version=6,0,0,0"
>     > id="flaMovie" width="400"
>     > height="235">
>     >             <param name="movie" value="swf/test_movie_purple.swf">
>     >             <param name="FlashVars" value="lan=<?php echo
>     > $_SESSION['lan'];?>&color=<?php echo
>     > $color;?>">
>     >             <param name="quality" value="medium">
>     >             <param name="wmode" value="transparent">
>     >             <embed src="swf/test_movie_purple.swf"
>     > flashvars="lan=<?php echo
>     > $_SESSION['lan'];?>&color=<?php echo
>     > $color;?>" wmode="transparent"
>     > width="400" height="235"
>     > type="application/x-shockwave-flash"></embed></object>

```

Could anyone help me fix this? Im goin' to crazy..

Answer: 
The problem is that you are initializing the variables *in the header file*; this creates a *defining* declaration, which is repeated in every file that includes that header,hence the multiple definition error.

You want a *non*-defining declaration (no initializer) in the header file, and put the defining declaration in *one* of the implementation files.
I too ran into this issue:

```
static const uint64 GameTexSignature = 0x0a1a0a0d58455489;

```

would not compile on Linux when defined in a header file. It compiles fine with MSVC. The fix that worked for me is changing it to:

```
static constexpr uint64 GameTexSignature = 0x0a1a0a0d58455489;

```

This was only required for the uint64 constant, not any of the uint32 constants. I think the following explains it, but that does imply the Linux compiler doesn't consider a const uint64 an integral constant.

<https://exceptionshub.com/how-to-declare-a-static-const-char-in-your-header-file.html>

Cheers
John