Подтвердить что ты не робот

PDB 'vc100.pdb' не был найден с

Я загрузил исходный код FreeImage и сделал статическую сборку для X64 MT DLL.

Все работает отлично, за исключением случаев, когда я использую ссылку в файле freeimage.lib, я получаю много раздражающих предупреждений компоновщика, которые я не совсем понимаю причину?

2>freeimage.lib(zutil.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with 'freeimage.lib(zutil.obj)' or at '\bin\Release\vc100.pdb'; linking object as if no debug info

... и он такой же непрерывный...

Что вызывает это и как я могу избавиться от него? Я предполагаю, что это вариант компилятора, когда я создаю FreeImage.

Вот командная строка для проекта FreeImageLib:

/I ".. \" /I "..\ZLib" /I "..\DeprecationManager" /I "..\OpenEXR\Half" /I "..\OpenEXR\Iex" /I "..\OpenEXR\IlmImf" /I "..\OpenEXR\Imath" /I "..\OpenEXR\IlmThread" /nologo/W 3/WX-/Od/D "WIN32" /D "_DEBUG" /D "OPJ_STATIC" /D "FREEIMAGE_LIB" /D "_CRT_SECURE_NO_DEPRECATE" /D "LIBRAW_NODLL" /D "_VC80_UPGRADE = 0x0710" /D "_MBCS" /GF -/Gm-/EHsc /RTC 1/MDd/GS/fp: точный /Zc: wchar_t/Zc: forScope/openmp /Fp ".\Debug/FreeImageLib.pch" /Fa ".\Debug/" /Fo ".\Debug/" /Fd ".\Debug/" /Gd/errorReport: queue

EDIT:

Я решил это, построив его как динамическую библиотеку. Хотя это не то решение, на которое я надеялся...

4b9b3361

Ответ 1

Когда вы компилируете статическую библиотеку с символами отладки, вы получаете этот файл vc100.pdb вместе с библиотекой. Символьная информация в этом файле будет объединена с библиотекой других библиотек во время связывания, чтобы создать окончательный PDB для EXE или DLL, которую вы связываете. Компонент жалуется, что он не может найти этот файл, где он ожидает, что он будет найден.

Это только предупреждение, и это произойдет только в отладочных сборках. Если вы компилируете FreeImage в конфигурации выпуска, это предупреждение должно исчезнуть. Или выясните, почему компоновщик не находит файл vc100.pdb.

Другой ответ, который вам дал, - сумасшедшая глупость.