I have an Application class, and it uses the PHYSFS library, which requires that the functions PHYSFS_init() and PHYSFS_deinit() be called to set up the library and then clean it up.
May be a better idea to have an object that represents the life of your application, and have the PHSYFS instance be a member of it. I tend to have an Application class that is created as a local variable in WinMain and have objects that live for the entire application be members of that.
This makes it very clear and explicit exactly what order things are created and destroyed, and plays nice with exceptions as well.