Re: LNK2001
От: vopl Россия  
Дата: 24.01.25 08:42
Оценка: 6 (1) +1
Здравствуйте, s_aa, Вы писали:

_>Если что, я не плюсист. Было свободное время решил вспомнить язык и наваять простую DLL, которая в свою очередь используется доступную библиотеку podofo (работа с PDF). Когда подключаю podofo.lib в виде библиотеки импорта то все компилируется. А если делаю статическую podofo.lib, выскакивают ошибки линковки вида:

_>

_>неразрешенный внешний символ "__declspec(dllimport) private: virtual void __cdecl PoDoFo::PdfMemDocument::reset(void)" (__imp_?reset@PdfMemDocument@PoDoFo@@EEAAXXZ). PoDoFo::PdfMemDocument::reset(void)" (__imp_?reset@PdfMemDocument@PoDoFo@@EEAAXXZ).


_>Ругается на private и protected члены импортируемого класса PoDoFo::PdfMemDocument. Их же вроде вообще не должно быть видно извне? Я чего то не догоняю. Ткните куда копать.


В имени неразрешенного символа есть префикс __imp_, указывающий на то что твои исходники пользуют АПИ PoDoFo в динамическом режиме а не в статическом. Вероятно, ты не определил какой ни будь настроечный макрос, что ни будь типа PDOFO_STATIC_LINK.. Покури это, наверняка поможет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.