2014-09-13 3 views
0

Как только я построил FreeImaged.lib и #include d FreeImage.h связал его с моей РАБОТА WxWidgets + OpenCV зависит от проекта, я получил ошибки в основном в двух файлах: init.h и atomic.h.Конфликт FreeImage и wxWidgets?

Большинство ошибок утверждают, что:

  • HINSTANCE неопределен
  • wxEntry уже определена как функция
  • wxEntryStart уже определена как функция
  • InterlockedDecrement неопределен

Если я комментарий #include <FreeImage.h>, тогда все ошибки исчезли. Почему это происходит? Как я могу это исправить?

+0

HINSTANCE и InterlockedDecrement - это функции и типы Windows API. Они не связаны с FreeImage. http://msdn.microsoft.com/en-us/library/windows/desktop/ms683580%28v=vs.85%29.aspx – PaulMcKenzie

+0

@PaulMcKenzie ах ... Я изменил '#include" afxres.h "на '#include ' (я использую VS2013) в OpenEXR, одной из зависимостей FreeImage. что может быть связано с этим вопросом как-то. –

ответ

0

Ваши ошибки, вероятно, связаны с #include <windows.h> где-то в FreeImage. Сначала включите заголовки wxWidgets, они позаботятся о нейтрализации большинства вредоносных определений в <windows.h>. Если вам нужно сначала включить другой, включите <wx/msw/winundef.h> сразу же после этого, чтобы определить их.

Если это не поможет, вы должны обновить свой вопрос с помощью точных ошибок, которые вы получаете (по крайней мере, первый или два).