I couldn’t reproduce those linker error and have no issue using ci::Rand in a shared build.
It seems that you are missing the preprocessor definition CINDER_SHARED which turns all CI_API into the right import directives. You might want to give it a second shot by following this small guide.
If this doesn’t help, it would be interesting to see some code to help reproduce what you’re seeing.