Я использую библиотеку верификации SCV совместно с SystemC на MS VC++ .NET 2003.

После успешного создания lib-файлов вышеуказанных библиотек пытаюсь отбилдить примеры для MSVC, прилагающиеся к библиотеке SCV (хочу проверить работоспособность библиотек перед тем, как приступать к созданию своих проектов). Компилятор выдает ошибки о множественном описании имен:

libcpmtd.lib(xmutex.obj) : error LNK2005: "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ) already defined in test.obj

libcpmtd.lib(xmutex.obj) : error LNK2005: "public: void __thiscall std::_Mutex::_Unlock(void)" (?_Unlock@_Mutex@std@@QAEXXZ) already defined in test.obj

Debug/ex_11_softconstraint.exe : fatal error LNK1169: one or more multiply defined symbols found

Такая ошибка возникает при использовании SCV как с SystemC 2.0.1, так и SystemC 2.1 Beta. Интересно, что при компиляции примеров, прилагающихся к самой библиотеке SystemC, ошибок не возникает. Но меня интересуют именно примеры SCV.

Мне удалось обойти эту проблему, включив в свойства проекта в раздел Linker -> Command Line -> Additional Options строку /FORCE:MULTIPLE, однако я не знаю, насколько правильно такое решение.

Сталкивался кто-нибудь с подобными проблемами? Может быть, есть другой путь решения?

------------------------------------------------------------

Нашел решение данной проблемы. Оказывается, библиотеки SystemC и SCV, а также свой проект, необходимо билдить в DEBUG конфигурации (а я раньше билдил в RELEASE). После того, как я перебилдил библиотеки в DEBUG конфигурации и подключил новые lib-файлы к примеру, все ошибки исчезли.
Параметр /FORCE:MULTIPLE больше не использую.

Благодарю всех за внимание!