编译时将出现错误:
ImgTest.obj : error LNK2005: ENCODER_SAVE_FLAG already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_CHROMINANCE_TABLE already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_LUMINANCE_TABLE already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_TRANSFORMATION already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_ROTATION already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_QUALITY already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_RENDERMETHOD already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_VERSION already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_SCANMETHOD already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_COLORDEPTH already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ENCODER_COMPRESSION already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: DECODER_USEICC already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: DECODER_ICONRES already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: DECODER_OUTPUTCHANNEL already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: DECODER_TRANSRANGE already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: DECODER_TRANSCOLOR already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FMTID_JpegAppHeaders already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FMTID_ImageInformation already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FRAMEDIM_PAGE already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FRAMEDIM_RESOLUTION already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FRAMEDIM_TIME already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IID_IImageBytes already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IID_IBasicBitmapOps already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IID_IImageSink already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IID_IImageEncoder already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IID_IImageDecoder already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IID_IBitmapImage already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IID_IImage already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: CLSID_ImagingFactory already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IID_IImagingFactory already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_ICO already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_FLASHPIX already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_PHOTOCD already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_EXIF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_TIFF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_GIF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_PNG already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_JPEG already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_WMF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_EMF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_BMP already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_MEMORYBMP already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: IMGFMT_UNDEFINED already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: CodecIImageBytes already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderSaveFlag already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderChrominanceTable already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderLuminanceTable already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderTransformation already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderQuality already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderRenderMethod already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderVersion already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderScanMethod already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderColorDepth already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: EncoderCompression already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FormatIDJpegAppHeaders already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FormatIDImageInformation already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FrameDimensionPage already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FrameDimensionResolution already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: FrameDimensionTime already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatIcon already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatEXIF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatTIFF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatGIF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatPNG already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatJPEG already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatWMF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatEMF already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatBMP already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatMemoryBMP already defined in ImageIntroduce.obj
ImgTest.obj : error LNK2005: ImageFormatUndefined already defined in ImageIntroduce.obj
那么在"ImgTest.cpp"中将#include "initguid.h"放置 #include "ImgTest.h"之后也不行么?答案依然是否定的.如果放在之后,则编译时会出现如下错误:
ImgTest.obj : error LNK2001: unresolved external symbol CLSID_ImagingFactory
ImgTest.obj : error LNK2001: unresolved external symbol IID_IImagingFactory
MIPSIIDbg/ImageIntroduce.exe : fatal error LNK1120: 2 unresolved externals
IImage的使用很简单也很方便,唯一需要注意的仅仅是#include "initguid.h"语句的位置而已,而这点却又往往让我们忽略,从而造就一些莫名其妙的链接错误.