Не знаю, как лучше назвать топик... Вобщем, проблема следующая.
Есть какой-то общий компонент, например, перевод строки в юникод и обратно. Компонент лежит в h и cpp файлах.
Этот компонент включается в какую-то lib'ку, например lib'ка для работы с БД.
Далее эта lib'ка включается в проект, который собирает exe-файл. И в этот же проект включается исходный компонент для перевода строк в юникод.
Соответственно при сборке exe линкер может ругаеться, что имеется несколько определений этого самого компонета для перевода строк в юникод.
Вопрос: как с этим бороться?
Вариант убрать этот компонет из lib'ки не катит, т.к. эта lib'ка может подключаться в проект, который сам его не включает.
Вариантов может быть много. Например, один компонент может включаться в 2 разные lib'ки. И потом эти 2 lib'ки в один проект. Или ещё как-то.
Ставить у всех общих компонетов __declspec(selectany) (да, среда msvc71) тоже не катит, т.к. их много.