Operating System: window 10 x64
Render System: DirectX 9,DirectX 11
Visual studio 2017
Hi.
After I successfully built the 64 bit version of Ogre3d library I started to build the 32 bit version too.
When I built Ogre3d library 64 bit version with freeimage, it compiled seamlessly, but with the 32 bit version, it give me 31 unresolved error at FreeImageCodec, but everything else compiled succesfully in the library.
I tried to link the freeimage.lib directly in Codec_freeimage solution(includes/dependencies folder, additional dependencies ,etc.) , but the result was the same.
I linked the Freeimage for Cmake as the wiki recommended: https://wiki.ogre3d.org/Building+Dependencies
I use the 3.18.0 version of freeimage from here: https://freeimage.sourceforge.io/download.html
I tried with the Compiled version from the page, and I tried to compile by myself too (both libs are the same size, 68,1 kb) but no use.
I didn't changed anything in the base Cmake configuration, neither in the Ogre project properties (Exept the include directories/dependencies after I got the error).
Some error message(I will post all if necesary, but I think it's suffice enough to see what is the problem):
Code: Select all
Error LNK2019 unresolved external symbol _FreeImage_Initialise referenced in function "public: static void __cdecl Ogre::FreeImageCodec::startup(void)" (?startup@FreeImageCodec@Ogre@@SAXXZ)
Error LNK2019 unresolved external symbol _FreeImage_DeInitialise referenced in function "public: static void __cdecl Ogre::FreeImageCodec::shutdown(void)" (?shutdown@FreeImageCodec@Ogre@@SAXXZ)
Error LNK2019 unresolved external symbol _FreeImage_CloseMemory referenced in function "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::ImageCodec::ImageData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> const &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VImageData@ImageCodec@Ogre@@@2@@std@@ABV?$SharedPtr@VDataStream@Ogre@@@2@@Z)
Error LNK2019 unresolved external symbol _FreeImage_ConvertTo32Bits referenced in function "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::ImageCodec::ImageData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> const &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VImageData@ImageCodec@Ogre@@@2@@std@@ABV?$SharedPtr@VDataStream@Ogre@@@2@@Z)