Как 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++. Это не ошибка.

Другие вопросы по тегам