Thank you for the help.
I am attempting to build Ogre on windows, but utterly failing to get FreeImage to link to it. Ogre will build fine without FreeImage support, but as soon as I attempt to enable it, the linking fails. I don't know if this is a name mangling issue, but I thought FreeImage was entirely in C, and thus should not have any such issues.
I attempted to build FreeImage, but ran into compiling errors. Before I attempt to deal with those, I thought it was best to ask about my root problem: why FreeImage isn't linking.
OS: Windows 7 64 bit
Ogre: OGRE 1.10.0unstable
FreeImage: 3.16.0 [WIN32] (http://downloads.sourceforge.net/freeim ... 0Win32.zip)
Compiler: g++ (GCC) 4.8.1
Code: Select all
C:\Users\Bakaiya\Documents\Ogre Build GCC>make -j8
Linking CXX shared library ..\bin\OgreMain.dll
CMakeFiles\OgreMain.dir/objects.a(OgreFreeImageCodec.cpp.obj): In function `ZNK4Ogre14FreeImageCodec20magicNumberToFileExtEPKcj':
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:582: undefined reference to `FreeImage_OpenMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:584: undefined reference to `FreeImage_GetFileTypeFromMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:585: undefined reference to `FreeImage_CloseMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:589: undefined reference to `FreeImage_GetFormatFromFIF'
CMakeFiles\OgreMain.dir/objects.a(OgreFreeImageCodec.cpp.obj): In function `ZNK4Ogre14FreeImageCodec12encodeBitmapERNS_9SharedPtrINS_16MemoryDataStreamEEERNS1_INS_5Codec9CodecDataEEE':
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:257: undefined reference to `FreeImage_FIFSupportsExportType'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:282: undefined reference to `FreeImage_FIFSupportsExportBPP'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:318: undefined reference to `FreeImage_AllocateT'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:318: undefined reference to `FreeImage_AllocateT'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:340: undefined reference to `FreeImage_GetPitch'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:345: undefined reference to `FreeImage_GetBits'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:335: undefined reference to `FreeImage_ConvertToGreyscale'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:336: undefined reference to `FreeImage_Unload'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:258: undefined reference to `FreeImage_FIFSupportsExportBPP'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:284: undefined reference to `FreeImage_FIFSupportsExportBPP'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:294: undefined reference to `FreeImage_FIFSupportsExportBPP'
CMakeFiles\OgreMain.dir/objects.a(OgreFreeImageCodec.cpp.obj): In function `ZNK4Ogre14FreeImageCodec12encodeToFileERNS_9SharedPtrINS_16MemoryDataStreamEEERKSsRNS1_INS_5Codec9CodecDataEEE':
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:395: undefined reference to `FreeImage_Save'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:396: undefined reference to `FreeImage_Unload'
CMakeFiles\OgreMain.dir/objects.a(OgreFreeImageCodec.cpp.obj): In function `ZNK4Ogre14FreeImageCodec6encodeERNS_9SharedPtrINS_16MemoryDataStreamEEERNS1_INS_5Codec9CodecDataEEE':
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:367: undefined reference to `FreeImage_OpenMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:369: undefined reference to `FreeImage_SaveToMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:373: undefined reference to `FreeImage_AcquireMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:381: undefined reference to `FreeImage_CloseMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:383: undefined reference to `FreeImage_Unload'
CMakeFiles\OgreMain.dir/objects.a(OgreFreeImageCodec.cpp.obj): In function `ZN4Ogre14FreeImageCodec7startupEv':
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:79: undefined reference to `FreeImage_Initialise'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:83: undefined reference to `FreeImage_GetVersion'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:86: undefined reference to `FreeImage_GetCopyrightMessage'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:92: undefined reference to `FreeImage_GetFIFCount'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:100: undefined reference to `FreeImage_GetFIFExtensionList'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:128: undefined reference to `FreeImage_SetOutputMessage'
CMakeFiles\OgreMain.dir/objects.a(OgreFreeImageCodec.cpp.obj): In function `ZN4Ogre25FreeImageLoadErrorHandlerE17FREE_IMAGE_FORMATPKc':
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:55: undefined reference to `FreeImage_GetFormatFromFIF'
CMakeFiles\OgreMain.dir/objects.a(OgreFreeImageCodec.cpp.obj): In function `ZN4Ogre14FreeImageCodec8shutdownEv':
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:137: undefined reference to `FreeImage_DeInitialise'
CMakeFiles\OgreMain.dir/objects.a(OgreFreeImageCodec.cpp.obj): In function `ZNK4Ogre14FreeImageCodec6decodeERNS_9SharedPtrINS_10DataStreamEEE':
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:405: undefined reference to `FreeImage_OpenMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:408: undefined reference to `FreeImage_LoadFromMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:421: undefined reference to `FreeImage_GetWidth'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:422: undefined reference to `FreeImage_GetHeight'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:428: undefined reference to `FreeImage_GetImageType'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:429: undefined reference to `FreeImage_GetColorType'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:430: undefined reference to `FreeImage_GetBPP'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:545: undefined reference to `FreeImage_GetBits'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:546: undefined reference to `FreeImage_GetPitch'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:563: undefined reference to `FreeImage_Unload'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:564: undefined reference to `FreeImage_CloseMemory'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:461: undefined reference to `FreeImage_IsTransparent'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:470: undefined reference to `FreeImage_ConvertTo24Bits'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:474: undefined reference to `FreeImage_Unload'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:477: undefined reference to `FreeImage_GetBPP'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:465: undefined reference to `FreeImage_ConvertTo32Bits'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:489: undefined reference to `FreeImage_GetGreenMask'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:450: undefined reference to `FreeImage_ConvertToGreyscale'
C:/Users/Bakaiya/Documents/ogre/OgreMain/src/OgreFreeImageCodec.cpp:452: undefined reference to `FreeImage_Unload'
collect2.exe: error: ld returned 1 exit status
OgreMain\CMakeFiles\OgreMain.dir\build.make:4984: recipe for target 'bin/OgreMain.dll' failed
make[2]: *** [bin/OgreMain.dll] Error 1
CMakeFiles\Makefile2:74: recipe for target 'OgreMain/CMakeFiles/OgreMain.dir/all' failed
make[1]: *** [OgreMain/CMakeFiles/OgreMain.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
make: *** [all] Error 2