В общем проблема известная, но здесь я подходящего решения не нашёл. Основная сложность в том, что у меня есть шаблонный класс, который генерируется страшным бустовым макросом (BOOST_CLASS_EXPORT_GUID). Всё это чудо лежит в заголовочнике, который входит в состав статической библиотеки. Заголовочник цепляется как из cpp-шек самой либы, так и в коде, эту библиотеку использующем. В результате один и тот-же класс оказывается определён в двух единицах трансляции, что приводит ко всяким LNK2005, multiply defined, etc...
Найденные мною варианты решения сводятся к:
Вынесение кода в cpp. В данном случае валится в рантайме. Не знаю что там такое творит буст с этими классами, но факт есть факт.
Заткнуть линкер опцией. Не помогает — валится в рантайме.
Как это бороть?