點擊FreeImage.2017.sln解決方案ide
動態庫編譯點擊生成工程FreeImage
注意:C/C++預編譯器添加預編譯定義FREEIMAGE_EXPORTS,對函數進行導出函數
靜態庫編譯點擊生成工程FreeImageLib
注意:C/C++預編譯器添加預編譯定義FREEIMAGE_LIBui
輸出文件保存在Dist/x32中this
頭文件的宏定義編譯細節以下:
#if defined(FREEIMAGE_LIB)
#define DLL_API
#define DLL_CALLCONV
#else
#if defined(_WIN32) || defined(__WIN32__)
#define DLL_CALLCONV __stdcall
// The following ifdef block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the FREEIMAGE_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// DLL_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifdef FREEIMAGE_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif // FREEIMAGE_EXPORTS
#else
// try the gcc visibility support (see http://gcc.gnu.org/wiki/Visibility)
#if defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#ifndef GCC_HASCLASSVISIBILITY
#define GCC_HASCLASSVISIBILITY
#endif
#endif // __GNUC__
#define DLL_CALLCONV
#if defined(GCC_HASCLASSVISIBILITY)
#define DLL_API __attribute__ ((visibility("default")))
#else
#define DLL_API
#endif
#endif // WIN32 / !WIN32
#endif // FREEIMAGE_LIBspa
問題分析code
嚴重性 代碼 說明 項目 文件 行 禁止顯示狀態
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_ConvertToGreyscale@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_Initialise@4,該符號在函數 "public: static void __cdecl Ogre::FreeImageCodec::startup(void)" (?startup@FreeImageCodec@Ogre@@SAXXZ) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_DeInitialise@0,該符號在函數 "public: static void __cdecl Ogre::FreeImageCodec::shutdown(void)" (?shutdown@FreeImageCodec@Ogre@@SAXXZ) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetVersion@0,該符號在函數 "public: static void __cdecl Ogre::FreeImageCodec::startup(void)" (?startup@FreeImageCodec@Ogre@@SAXXZ) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetCopyrightMessage@0,該符號在函數 "public: static void __cdecl Ogre::FreeImageCodec::startup(void)" (?startup@FreeImageCodec@Ogre@@SAXXZ) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_SetOutputMessage@4,該符號在函數 "public: static void __cdecl Ogre::FreeImageCodec::startup(void)" (?startup@FreeImageCodec@Ogre@@SAXXZ) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_AllocateT@28,該符號在函數 "private: struct FIBITMAP * __thiscall Ogre::FreeImageCodec::encodeBitmap(class Ogre::SharedPtr<class Ogre::MemoryDataStream> &,class Ogre::SharedPtr<class Ogre::Codec::CodecData> &)const " (?encodeBitmap@FreeImageCodec@Ogre@@ABEPAUFIBITMAP@@AAV?$SharedPtr@VMemoryDataStream@Ogre@@@2@AAV?$SharedPtr@VCodecData@Codec@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_Unload@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_Save@16,該符號在函數 "public: virtual void __thiscall Ogre::FreeImageCodec::encodeToFile(class Ogre::SharedPtr<class Ogre::MemoryDataStream> &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class Ogre::SharedPtr<class Ogre::Codec::CodecData> &)const " (?encodeToFile@FreeImageCodec@Ogre@@UBEXAAV?$SharedPtr@VMemoryDataStream@Ogre@@@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$SharedPtr@VCodecData@Codec@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_OpenMemory@8,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_CloseMemory@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_LoadFromMemory@12,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_SaveToMemory@16,該符號在函數 "public: virtual class Ogre::SharedPtr<class Ogre::DataStream> __thiscall Ogre::FreeImageCodec::encode(class Ogre::SharedPtr<class Ogre::MemoryDataStream> &,class Ogre::SharedPtr<class Ogre::Codec::CodecData> &)const " (?encode@FreeImageCodec@Ogre@@UBE?AV?$SharedPtr@VDataStream@Ogre@@@2@AAV?$SharedPtr@VMemoryDataStream@Ogre@@@2@AAV?$SharedPtr@VCodecData@Codec@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_AcquireMemory@12,該符號在函數 "public: virtual class Ogre::SharedPtr<class Ogre::DataStream> __thiscall Ogre::FreeImageCodec::encode(class Ogre::SharedPtr<class Ogre::MemoryDataStream> &,class Ogre::SharedPtr<class Ogre::Codec::CodecData> &)const " (?encode@FreeImageCodec@Ogre@@UBE?AV?$SharedPtr@VDataStream@Ogre@@@2@AAV?$SharedPtr@VMemoryDataStream@Ogre@@@2@AAV?$SharedPtr@VCodecData@Codec@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetFIFCount@0,該符號在函數 "public: static void __cdecl Ogre::FreeImageCodec::startup(void)" (?startup@FreeImageCodec@Ogre@@SAXXZ) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetFormatFromFIF@4,該符號在函數 "void __cdecl Ogre::FreeImageLoadErrorHandler(enum FREE_IMAGE_FORMAT,char const *)" (?FreeImageLoadErrorHandler@Ogre@@YAXW4FREE_IMAGE_FORMAT@@PBD@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetFIFExtensionList@4,該符號在函數 "public: static void __cdecl Ogre::FreeImageCodec::startup(void)" (?startup@FreeImageCodec@Ogre@@SAXXZ) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_FIFSupportsExportBPP@8,該符號在函數 "private: struct FIBITMAP * __thiscall Ogre::FreeImageCodec::encodeBitmap(class Ogre::SharedPtr<class Ogre::MemoryDataStream> &,class Ogre::SharedPtr<class Ogre::Codec::CodecData> &)const " (?encodeBitmap@FreeImageCodec@Ogre@@ABEPAUFIBITMAP@@AAV?$SharedPtr@VMemoryDataStream@Ogre@@@2@AAV?$SharedPtr@VCodecData@Codec@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_FIFSupportsExportType@8,該符號在函數 "private: struct FIBITMAP * __thiscall Ogre::FreeImageCodec::encodeBitmap(class Ogre::SharedPtr<class Ogre::MemoryDataStream> &,class Ogre::SharedPtr<class Ogre::Codec::CodecData> &)const " (?encodeBitmap@FreeImageCodec@Ogre@@ABEPAUFIBITMAP@@AAV?$SharedPtr@VMemoryDataStream@Ogre@@@2@AAV?$SharedPtr@VCodecData@Codec@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetFileTypeFromMemory@8,該符號在函數 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall Ogre::FreeImageCodec::magicNumberToFileExt(char const *,unsigned int)const " (?magicNumberToFileExt@FreeImageCodec@Ogre@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBDI@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetImageType@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetBits@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetBPP@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetWidth@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetHeight@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetPitch@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetColorType@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_GetGreenMask@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_IsTransparent@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_ConvertTo24Bits@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK2019 沒法解析的外部符號 __imp__FreeImage_ConvertTo32Bits@4,該符號在函數 "public: virtual struct std::pair<class Ogre::SharedPtr<class Ogre::MemoryDataStream>,class Ogre::SharedPtr<class Ogre::Codec::CodecData> > __thiscall Ogre::FreeImageCodec::decode(class Ogre::SharedPtr<class Ogre::DataStream> &)const " (?decode@FreeImageCodec@Ogre@@UBE?AU?$pair@V?$SharedPtr@VMemoryDataStream@Ogre@@@Ogre@@V?$SharedPtr@VCodecData@Codec@Ogre@@@2@@std@@AAV?$SharedPtr@VDataStream@Ogre@@@2@@Z) 中被引用 OgreMain F:\AI\mogre\.build\vs2013\OgreFreeImageCodec.obj 1
錯誤 LNK1120 31 個沒法解析的外部命令 OgreMain F:\AI\mogre\bin\Debug\x86\OgreMain_d.dll 1orm
沒法解析的外部符號 __imp__FreeImage_Initialise@4說明ci
__imp__FreeImage_Initialise@4是函數編譯爲動態庫時候的地址,說明FreeImage.lib中沒有該函數的地址編譯器
調用命令查看FreeImage.lib中的函數聲明string
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin>"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe" /SYMBOLS F:\AI\FreeImage\Win32\Debug\FreeImaged.lib > D:FreeImageLib.txt
說明編譯出來的FreeImage.lib是靜態庫,靜態庫中函數地址以下:__imp__FreeImage_Initialise,從新編譯動態庫,連接動態庫解決問題