Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > подключение .def к проекту и создать файл .lib


Автор: littlegreg 16.4.2011, 16:56
подскажите как подключить .def файл к проекту в Visual C++ 6.0, если просто вставить файл .def в проект - это не работает. 

Автор: asmdzen 17.4.2011, 08:23
нужно его еще добавить в параметры к линкеру: Project Proprietes -> linker -> input -> Module Definition File - и выбираем нужный файл (добавленный к проекту)

Автор: littlegreg 17.4.2011, 17:09
asmdzen, спасибо за ответ, но у меня в Visual C++ 6.0, такого пути нет, но есть Project -> Settings -> Link -> input, но там нет поля Module Definition File, или подобного для .def-файла.

Автор: asmdzen 17.4.2011, 17:32
littlegreg, microsoft говорит что .def файл должен быть создан той же версией линкера которой собираешся линковать библиотеку, для 6 версии у них ничего конкретного не нашел - пишут что нужно добавить файл к проекту, больше ничего. попробуй найти команды для линкера и запустить вручную.

Автор: littlegreg 17.4.2011, 20:26
ок, спасибо

Автор: volatile 18.4.2011, 00:12
Цитата(asmdzen @  17.4.2011,  17:32 Найти цитируемый пост)
.def файл должен быть создан той же версией линкера которой собираешся линковать библиотеку

.def файл это просто текстовый файл, я его просто руками писал  smile
Насколько не изменяет память, его достаточно просто добавить в проект, и всё.
Если это не работет, то значит .def файл неправильно написан.
Вот правильный пример .def файла (писал как-то плагин к фару)
Код

EXPORTS 
   ExitFAR=_ExitFAR@0
   GetPluginInfo=_GetPluginInfo@4
   OpenPlugin=_OpenPlugin@8
   SetStartupInfo=_SetStartupInfo@4


Автор: asmdzen 18.4.2011, 10:54
Цитата(volatile @  18.4.2011,  00:12 Найти цитируемый пост)
.def файл это просто текстовый файл, я его просто руками писал  smile

они пишут что декорация функций может отличатся в разных версиях, типа:
GetPluginInfo=_GetPluginInfo@4
в другой версии надо писать как-то так GetPluginInfo=GetPluginInfo_@4

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)