Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2013, 09:45   #1
Flay
Пользователь
 
Регистрация: 22.08.2010
Сообщений: 26
По умолчанию [Вопрос] Подключение библиотек к проекту. DLL vs LIB

Доброго времени суток.
Возникла трабла при компиляции основного проекта. Делаю сметь OGRE+CEGUI. Решил, что много DLL'ок и собрал CEGUI в статике. Подключил статичные либы к проекту и мне выдало:

1>CEGUIBase-0_Static_d.lib(Exceptions.obj) : error LNK2019: unresolved external symbol __imp__SymCleanup@4 referenced in function "void __cdecl CEGUI:umpBacktrace(unsigned int)" (?dumpBacktrace@CEGUI@@YAXI@Z)
1>CEGUIBase-0_Static_d.lib(Exceptions.obj) : error LNK2019: unresolved external symbol __imp__SymGetModuleInfo64@16 referenced in function "void __cdecl CEGUI:umpBacktrace(unsigned int)" (?dumpBacktrace@CEGUI@@YAXI@Z)
1>CEGUIBase-0_Static_d.lib(Exceptions.obj) : error LNK2019: unresolved external symbol __imp__UnDecorateSymbolName@16 referenced in function "void __cdecl CEGUI:umpBacktrace(unsigned int)" (?dumpBacktrace@CEGUI@@YAXI@Z)
1>CEGUIBase-0_Static_d.lib(Exceptions.obj) : error LNK2019: unresolved external symbol __imp__SymFromAddr@20 referenced in function "void __cdecl CEGUI:umpBacktrace(unsigned int)" (?dumpBacktrace@CEGUI@@YAXI@Z)
1>CEGUIBase-0_Static_d.lib(Exceptions.obj) : error LNK2019: unresolved external symbol __imp__StackWalk64@36 referenced in function "void __cdecl CEGUI:umpBacktrace(unsigned int)" (?dumpBacktrace@CEGUI@@YAXI@Z)
...

Возник вопрос: в каком случае к функции приставляется _imp_?
Может дело в том, что весь проект я перевел в /MTd, а либы для CEGUI компилились под /MDd?
Flay вне форума Ответить с цитированием
Старый 13.10.2013, 09:59   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Проекты должны компилироваться одним набором - либо /MD[d] либо /MT[d].
waleri вне форума Ответить с цитированием
Старый 13.10.2013, 14:19   #3
Flay
Пользователь
 
Регистрация: 22.08.2010
Сообщений: 26
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Проекты должны компилироваться одним набором - либо /MD[d] либо /MT[d].
А как тогда реализована библиотека zlib? Она всегда компилится с /MT и нормально используется в проектах.
Flay вне форума Ответить с цитированием
Старый 13.10.2013, 23:32   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Так вы же сами сказали, что библиотека у вас /MD а приложение /MT

Кроме того, все зависит от конкретной библиотеки. Смотрите .h файлы библиотеки, как деклрарируются функции.
waleri вне форума Ответить с цитированием
Старый 14.10.2013, 00:53   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

MT совместим вполне со всем.
а вот MD уже нет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение файла к проекту..? kta87 Общие вопросы Delphi 3 20.03.2012 18:42
Подключение класса к проекту Matr1x Общие вопросы по Java, Java SE, Kotlin 1 19.03.2012 22:50
Подключение dll к проекту Zeus_God Помощь студентам 0 06.12.2011 19:34
Подключение dll к проекту в C++ Builder Random12 C++ Builder 4 17.10.2011 15:40
Как подключить lib файл к проекту в C++ Builder Hacker_ Общие вопросы C/C++ 0 28.10.2009 12:41