Creating an array with the length coming from a library
There is absolutely nothing wrong with putting it in the header.  


  §9.4.2/4 If a static data member is of const integral or const enumeration type, its declaration in the class definition can specify a constant-initializer which shall be an integral constant expression (5.19). In that case, the member can appear in integral constant expressions. The member shall still be defined in a name- space scope if it is used in the program and the namespace scope definition shall not contain an initializer.


Since you're just using it as a simple constant "integral" value there is nothing wrong with putting it in the header.