public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Andrew Fish <afish@apple.com>
To: dashing meng <dashing_meng@163.com>
Cc: EDK2-DEV <edk2-devel@lists.01.org>
Subject: Re: Miss "IMAGE_FORMAT" type name error when compile EDK2
Date: Wed, 28 Sep 2016 07:38:29 -0700	[thread overview]
Message-ID: <F8A31DE7-DE83-4D6E-A7D1-70776923A57F@apple.com> (raw)
In-Reply-To: <28cd9226.17fc7.15770e26cf9.Coremail.dashing_meng@163.com>


> On Sep 28, 2016, at 6:01 AM, dashing meng <dashing_meng@163.com> wrote:
> 
> 
> Hi,
> Everyone.
> 
> My machine is a Intel P6200 cpu, no vt-x support, 64bit, Debian 8 64bit OS.
> 
> I am compiling EDK2 with the instruction at: https://github.com/tianocore/tianocore.github.io/wiki/Common-instructions <https://github.com/tianocore/tianocore.github.io/wiki/Common-instructions>
> When "Build Hello World!  (and the rest of MdeModulePkg)" by excute "build" command, I encounter the error message
> below:
>  /src/edk2/MdeModulePkg/Include/Library/ImageDecoderLib.h:22:7: error: unknown type name ‘IMAGE_FORMAT’
>    IN  IMAGE_FORMAT                  ImageFormat,
> I search the source, search the web, have not found any library file include type name "IMAGE_FORMAT", 
> Where can I find the file define the type of "IMAGE_FORMAT"? Anyone has any clue to fix this error?
> 

It looks like MdeModulePkg/Include/Protocol/PlatformLogo.h contains the definition of IMAGE_FORMAT and it is an enum. It should be included by MdeModulePkg/Include/Library/ImageDecoderLib.h


~/work/src/edk2(master)>git grep -w IMAGE_FORMAT
MdeModulePkg/Include/Library/BootLogoLib.h:37:  IN  IMAGE_FORMAT                          ImageFormat,
MdeModulePkg/Include/Library/ImageDecoderLib.h:22:  IN  IMAGE_FORMAT                  ImageFormat,
MdeModulePkg/Include/Library/ImageDecoderLib.h:52:  IN  IMAGE_FORMAT                  ImageFormat,
MdeModulePkg/Include/Protocol/PlatformLogo.h:33:} IMAGE_FORMAT;
MdeModulePkg/Include/Protocol/PlatformLogo.h:70:     OUT IMAGE_FORMAT                          *Format,
MdeModulePkg/Library/BmpImageDecoderLib/BmpImageDecoderLib.c:43:  IN  IMAGE_FORMAT                  ImageFormat,
MdeModulePkg/Library/BootLogoLib/BootLogoLib.c:47:  IN  IMAGE_FORMAT                          ImageFormat,
MdeModulePkg/Library/ImageDecoderLib/ImageDecoderLib.c:55:  IN  IMAGE_FORMAT                  ImageFormat,
~/work/src/edk2(master)>git blame -L33,33 MdeModulePkg/Include/Protocol/PlatformLogo.h
6313eb25 (Ruiyu Ni 2015-11-12 05:19:22 +0000 33) } IMAGE_FORMAT;
~/work/src/edk2(master)>git blame -L17,17 MdeModulePkg/Include/Library/ImageDecoderLib.h
345c2b07 (Ruiyu Ni 2015-11-12 05:21:38 +0000 17) #include <Protocol/PlatformLogo.h>

Thanks,

Andrew Fish




> Thanks.
> 
> PS:
> The main content of the source file is below:
> 
> /** @file
>   This library provides image decoding service by managing the different
>   image decoding libraries.
>  
> Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
> This program and the accompanying materials are licensed and made available under
> the terms and conditions of the BSD License that accompanies this distribution.
> The full text of the license may be found at
> http://opensource.org/licenses/bsd-license.php <http://opensource.org/licenses/bsd-license.php>.
>  
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>  
> **/
> #ifndef __IMAGE_DECODER_LIB_H__
> #define __IMAGE_DECODER_LIB_H__
> #include <Protocol/PlatformLogo.h>
>  
> typedef
> EFI_STATUS
> (EFIAPI *DECODE_IMAGE)(
>   IN  IMAGE_FORMAT                  ImageFormat,
>   IN  UINT8                         *Image,
>   IN  UINTN                         ImageSize,
>   OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **GopBlt,
>   OUT UINTN                         *GopBltSize,
>   OUT UINTN                         *PixelWidth,
>   OUT UINTN                         *PixelHeight
>   );
>  
> /**
>   Convert a graphics image to a callee allocated GOP blt buffer.
>  
>   @param  ImageFormat   Format of the image file.
>   @param  Image         Pointer to image file.
>   @param  ImageSize     Number of bytes in Image.
>   @param  GopBlt        Buffer containing GOP version of Image.
>   @param  GopBltSize    Size of GopBlt in bytes.
>   @param  PixelWidth    Width of GopBlt/Image in pixels.
>   @param  PixelHeight   Height of GopBlt/Image in pixels.
>  
>   @retval EFI_SUCCESS           GopBlt and GopBltSize are returned.
>   @retval EFI_INVALID_PARAMETER GopBlt or GopBltSize is NULL.
>   @retval EFI_INVALID_PARAMETER Image is NULL or ImageSize is 0.
>   @retval EFI_UNSUPPORTED       Image is not supported.
>   @retval EFI_OUT_OF_RESOURCES  No enough buffer to allocate.
>  
> **/
> EFI_STATUS
> EFIAPI
> DecodeImage (
>   IN  IMAGE_FORMAT                  ImageFormat,
>   IN  UINT8                         *Image,
>   IN  UINTN                         ImageSize,
>   OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **GopBlt,
>   OUT UINTN                         *GopBltSize,
>   OUT UINTN                         *PixelWidth,
>   OUT UINTN                         *PixelHeight
>   );
>  
> /**
>   Register an image decoder.
>  
>   @param Decoder  An image decoder.
>  
>   @retval EFI_SUCCESS          The decoder was successfully registered.
>   @retval EFI_OUT_OF_RESOURCES No enough resource to register the decoder.
>  
> **/
> EFI_STATUS
> EFIAPI
> RegisterImageDecoder (
>   IN  DECODE_IMAGE     Decoder
>   );
>  
> #endif
> 
> -------------------------------
> 
> dashing meng
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>
> https://lists.01.org/mailman/listinfo/edk2-devel <https://lists.01.org/mailman/listinfo/edk2-devel>


  reply	other threads:[~2016-09-28 14:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-28 13:01 Miss "IMAGE_FORMAT" type name error when compile EDK2 dashing meng
2016-09-28 14:38 ` Andrew Fish [this message]
2016-09-29  1:52   ` dashing meng
     [not found]   ` <61ccfed6.4678.157739c18b8.Coremail.dashing_meng@163.com>
     [not found]     ` <C3844547-F4CF-4150-A89F-1D5C2B781E7C@apple.com>
2016-09-29  2:33       ` Dashing Meng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=F8A31DE7-DE83-4D6E-A7D1-70776923A57F@apple.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox