Я компилирую программу в Visual Studio 2015, используя библиотеку FreeType. Раньше я использовал тот же проект для компиляции статической библиотеки с моим собственным классом Font (и многими другими вещами), используя библиотеку. Все было хорошо, и урок прошел отлично. Однако недавно я изменил проект на приложение Windows, изменив _1 _-> _ 2 _-> _ 3_ на Application (.exe)
. Таким образом, я мог создавать программу и редактировать код одновременно, не копируя все 20 с лишним файлов.
После написания моей простой программы (которая не имеет отношения к вопросу) и попытки перекомпиляции у меня появилось много ошибок, которых раньше не было. Вот они:
LNK2001 неразрешенный внешний символ __imp__strncpy [...] \ freetype.lib (ftbase.obj)
LNK2001 неразрешенный внешний символ __imp__fread [...] \ freetype.lib (ftsystem.obj)
LNK2001 неразрешенный внешний символ __imp__realloc [...] \ freetype.lib (ftsystem.obj)
LNK2001 неразрешенный внешний символ __imp__strstr [...] \ freetype.lib (truetype.obj)
LNK2001 неразрешенный внешний символ __except_handler4_common [...] \ MSVCRT.lib (_chandler4gs_.obj)
Кажется, что в сети очень мало информации обо всем этом, не говоря уже об этом конкретном случае. Все было хорошо, когда я компилировал как статическую библиотеку. Раньше я перешел на компиляцию .exe
, и тогда он тоже работал нормально. В прошлом я имел дело с неразрешенными внешними причинами, но это кажется необъяснимым.
Я связываюсь с #pragma comment(lib, "freetype.lib")
. freetype.lib
существует и находится в правильном каталоге.
Я в том числе:
#include <ft2build.h>
#include FT_FREETYPE_H
Если это важно, моя программа написана на C ++, и я также связываюсь с другими библиотеками. Любая помощь приветствуется.