Как STATIC LINK FreeImage Library?
Это для людей, использующих библиотеку FreeImage - библиотеку C с открытым исходным кодом для управления изображениями: http://freeimage.sourceforge.net/
Этот вопрос задавался много раз на разных форумах, но я не смог найти ответ. Если кто-то знает решение, пожалуйста, отправьте.
Я хочу использовать эту библиотеку в качестве библиотеки STATIC вместо использования дополнительного файла *.dll. К сожалению, я получаю "неразрешенный внешний символ".
В FAQ по FreeImage есть тема: Как использовать FreeImage как статическую библиотеку, а не как DLL (Visual C++ 6)? http://freeimage.sourceforge.net/faq.html
К сожалению, это не работает, потому что я получаю сообщение "неразрешенный внешний символ", даже если есть только одна функция "FreeImage_Initialise()", с которой я работаю в MS VC++ 2008 и 2010 Express.
Поэтому я прошу о помощи. Я заметил, что у многих людей была такая же проблема.
Может быть, это просто вопрос правильных опций в проекте MS Visual?
2 ответа
Я думаю, что нашел ответ сам.
Поскольку решение FreeImage в VC++ 2008 не может открываться в VC++ 2010, я создал статический файл.lib в версии VC++ 2008. Связывание его с проектом в VC++ 2010 дало ошибку: неразрешенный внешний символ,
но затем я попытался связать его в рамках проекта в VC++ 2008, и он успешно связался.
Кажется, что статические библиотеки из VC++ 2008 плохо работают в 2010 году, может быть, это ошибка VC++ Express 2010...
Я использовал Visual 2012 Express, и он отлично работает! FreeImage была оболочкой для.NET, поэтому вы должны использовать ее в проекте.NET, а не в VC++. Это не ошибка.