portability for MSVC

- Added cross-platform DEPRECATED macro
- modified setup and loop to not be weak_attrib on MSVC because there is
no such option.