When I add loader files directly (before with VC++ directories) to the project I must add freeglut. This is normal thing or maybe I "installed" something wrong?
The header for b2dJsonImage_OpenGL.h uses freeglut because Box2D comes with freeglut and most people will commonly be using the Box2D source as is (at least when they first start out).
But there is no reason you need to use the b2dJsonImage_OpenGL class at all. It's just an example, to show one way you can extend the b2dJsonImage class for a specific rendering method. So if you use DirectX then you would need to make a b2dJsonImage_DX or something to draw your images instead.