https://gernotklingler.com/blog/creating-using-shared-libraries-different-compilers-different-operating-systems/