.lib error LNK2005 MSVC++ 7
От: OriginalZealot Россия  
Дата: 02.10.06 10:53
Оценка:
Я проверял, что даже если в 2х разных lib'ах определены одинаковые символы(и они используются) — такой ошибки не возникает. Из какой библиотеки будет взята реализация символа — определяет порядок их подключения в настройках проекта.
Значит, это сообщение об ошибке вызывается как правило другими ошибками — я знаю следующие возможные причины:
1) Разные версии Run Time Library для реализации одного символа в разных lib'ах — приводит к проблеме выбора реализации, которыю линкер разрешить не может(вроде и не должен).
2) В разных .obj файлах есть реализации одного символа — следствие реализации функций и глобальных переменных в header'ах.

У меня есть проблема: некоторая программа предоставляет своё API в виде header'ов и lib'ов. Lib'ы предназначены для разных режимов использования и для разных версий Run Time Library, но во всех возможных комбинациях их использования
я получаю кучу вышеуказанных ошибок. В сети я нашел(на форуме) информацию по использованию API этой программы, где говорится, что нужно отключать некоторые стандартные библиотеки для использования этого API. Вопрос в том, как определить почему символ вызывает данную ошибку? И имеет ли смысл отключать стандартные библиотеки?

Мне очень нужно узнать — какие могут быть другие причины появления данной ошибки.
Re: .lib error LNK2005 MSVC++ 7
От: DrMom  
Дата: 02.10.06 22:48
Оценка:
Здравствуйте, OriginalZealot, Вы писали:

Не видя ситуации в живую, сложно что-то говорить определенно, но если предположить что эта библиотека не глючная, то надо просто отключать все стандартные либы которые вызывают ошибки. Вероятно они включены в эту библиотеку.
Re[2]: .lib error LNK2005 MSVC++ 7
От: OriginalZealot Россия  
Дата: 03.10.06 05:00
Оценка:
Здравствуйте, DrMom, Вы писали:

DM>Не видя ситуации в живую, сложно что-то говорить определенно, но если предположить что эта библиотека не глючная, то надо просто отключать все стандартные либы которые вызывают ошибки. Вероятно они включены в эту библиотеку.


Либа точно не глючная, но если я отключаю стандартные либы, которые там указаны вылезают ошибки о неопределенных символах "_CrtDbgReport", "__malloc_dbg", и прочих. Причем конфигурация Release, рантайм тоже не дебажный. Не пишется, где они были использованы...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.