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>
next prev parent 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