Проблемы со связыванием FreeType

Я пишу приложение DirectX для WindowsPhone, и мне нужно использовать с ним FreeType. Итак, я загрузил исходники FreeType и использовал CMake для создания решения Visual Studio для WP ARM, но когда я связываю freetype со своей программой, он говорит unresolved external __imp_FT_Init_FreeType и тому подобное. Я немного исследовал и обнаружил, что символы в реальном .lib выглядят так: _FT_Init_FreeType, поэтому для них нет префикса __imp. Это немного странно, потому что я использую /MDd для обоих проектов (VS просто не позволит мне использовать /MTd для приложения WP DX), и я понятия не имею, что происходит. Есть ли способ добавить префикс ко всем экспортируемым символам или какой-либо обходной путь для этого, потому что я понятия не имею, что с этим делать.

Я пытался скомпилировать исходники для архитектуры x86 с тем же результатом - фактическая программа ищет __imp_FT_Whatever, но в lib у них нет префикса __imp.

Готовые пакеты прекрасно работают без особых причин (только для x86).

Итак, есть идеи? Даже небольшая статья может помочь.


person Alexey Drozhzhin    schedule 15.05.2015    source источник


Ответы (1)


Хорошо, проблема решена. Я добавил FT2_BUILD_LIBRARY в качестве определения препроцессора, и все отлично компилируется! Надеюсь, что это может быть полезно.

person Alexey Drozhzhin    schedule 19.05.2015