Перейти к содержанию
    

Ошибка при компиляции примеров SCV на MSVC .NET

Я использую библиотеку верификации 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 больше не использую.

 

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

Изменено пользователем phn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...