Hello! I’m somewhat new to Cinder, C++, and Windows development, which is making for a fun series of challenges. I’m using VS 2015 on Windows 10.
I have a c++/cuda dependency that must be linked dynamically, so I’m trying to switch my VS project from static to dynamic linking. Cinder is my only other dependency right now. I made these changes:
- Project properties > C/C++ > Code Generation > Runtime Library: Changed
Multi-threaded DLL (/MD)
- Linker Additional Library Directories: Changed
..\vendor\Cinder\lib\msw\$(PlatformTarget)\$(Configuration)_Shared\$(PlatformToolset)\(in other words, use Release_Shared instead of Release)
- Opened cinder.sln and built the Release_Shared target
(I’m only using Release configurations for now.)
The build fails with a few linker errors:
Error LNK2001 unresolved external symbol "private: static class std::mersenne_twister_engine<unsigned int,32,624,397,31,2567483615,11,4294967295,7,2636928640,15,4022730752,18,1812433253> cinder::Rand::sBase" (?sBase@Rand@cinder@@0V?$mersenne_twister_engine@I$0CA@$0CHA@$0BIN@$0BP@$0JJAILANP@$0L@$0PPPPPPPP@$06$0JNCMFGIA@$0P@$0OPMGAAAA@$0BC@$0GMAHIJGF@@std@@A) Error LNK2001 unresolved external symbol "private: static class std::uniform_real_distribution<float> cinder::Rand::sFloatGen" (?sFloatGen@Rand@cinder@@0V?$uniform_real_distribution@M@std@@A)
There’s another similar unresolved symbol error for my other dependency, but I don’t think those details are relevant here.
Help of any sort, even vague guesses or clues, would be greatly appreciated!