Of all the gin joints in all the towns in all the world, John Davis had to 
walk into mine at 16:34:49 on Tuesday 25 February 2014 and say:

> Hmm. That is what I did to begin with.
> 
> Here are my includes and my .inf.
> 
> Now, I am really puzzled.  When I pasted the error from the build below, I
> noticed the error is actually in the code I used as a model for this app.
> How could this app cause the other app which used to build to fail?
> 
> ---------
> #include <Uefi.h>

Try adding

#include <PiPei.h>

here.

The compiler is complaining because the EFI_BOOT_MODE macro isn't defined. 
It's define in PiBootMode.h, which gets pulled in if you use the above 
#include.

That's how I dealt with this in my code at any rate.

-Bill

> #include <Pi/PiFirmwareFile.h>
> #include <Library/DebugLib.h> // ASSERT_EFI_ERROR
> #include <Protocol/LoadedImage.h> // EFI_LOADED_IMAGE_PROTOCOL
> #include <Pi/PiFirmwareVolume.h>
> #include <Library/PcdLib.h>
> #include <Library/UefiLib.h>
> #include <Library/UefiApplicationEntryPoint.h>
> #include <Library/UefiBootServicesTableLib.h>
> #include <Library/UefiRuntimeServicesTableLib.h>
> #include <Protocol/FirmwareVolume.h>
> #include <Library/GenericBdsLib.h> // DevicePathToStr
> ---------
> <some snipped>
> [Packages]
>   MdePkg/MdePkg.dec
>   MdeModulePkg/MdeModulePkg.dec
>   IntelFrameworkPkg/IntelFrameworkPkg.dec
>   IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
> 
> [LibraryClasses]
>   UefiApplicationEntryPoint
>   UefiLib
>   PcdLib
> 
> [ Protocols ]
>   gEfiLoadedImageProtocolGuid
>   gEfiDevicePathToTextProtocolGuid
> 
> [FeaturePcd]
>   gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
> 
> [Pcd]
>   ## Valid when gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
>   gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintString ||
> gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
> 
>   ## Valid when gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
>   gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintTimes  ||
> gEfiMdeModulePkgTokenSpaceGuid.PcdMyFindRomPrintEnable
> ----------
> 
> This is the error:
> 
> 
> MyFindRom.c
>         "GenFw" -e UEFI_APPLICATION -o
> c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\Hel
> loWorld\HelloWorld\DEBUG\HelloWorld.efi c:\fw\edk2\Build\
> DEBUG_VS2010x86\IA32\MdeModulePkg\Application\HelloWorld\HelloWorld\DEBUG\H
> elloWorld.dll "C:\Program Files (x86)\Microsoft Visual Studio
> 10.0\Vc\bin\link.exe"
> /OUT:c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtSimpleFile
> SystemDxe\WinNtSim stemDxe\DEBUG\WinNtSimpleFileSystemDxe.dll /NOLOGO
> /NODEFAULTLIB
> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D
> /SECTION:.pdata,D /MACHINE:X86 /LTCG /D
> 
> :_ModuleEntryPoint /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0
> 
> /DRIVER /DEBUG /EXPORT:InitializeDriver=_ModuleEntryPoint /BASE:0x10000
> /ALIGN:4096 /FILEALIGN:40
> STEM:CONSOLE
>  @c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtSimpleFileSys
> temDxe\WinNtSimpleFileSystemDxe\OUTPUT\static_library_files.lst copy /y
> c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\Hel
> loWorld\HelloWorld\DEBUG\HelloWorld.efi
> c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x8
> eModulePkg\Application\HelloWorld\HelloWorld\OUTPUT
> c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(239) :
> error C2143: syntax error : missing ')' before '*'
> c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(239) :
> error C2143: syntax error : missing '{' before '*'
> c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(240) :
> error C2059: syntax error : ')'
> c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(240) :
> warning C4431: missing type specifier - int assumed. Note: C no longer
> supports default-int
> c:\fw\edk2\IntelFrameworkModulePkg\Include\Library/GenericBdsLib.h(240) :
> warning C4218: nonstandard extension used : must specify at least a storage
> class or a type
>         1 file(s) copied.
>         "C:\Program Files (x86)\Microsoft Visual Studio
> 10.0\Vc\bin\link.exe"
> /OUT:c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtGopDxe\Win
> NtGopDxe\DEBUG\Win dll /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
> /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D
> /MACHINE:X86 /LTCG /DLL
> /ENTRY:_ModuleEntryPoint /SUBSYSTEM:
> SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
> /EXPORT:InitializeDriver=_ModuleEntryPoint /BASE:0x10000 /ALIGN:4096
> /FILEALIGN:4096 /SUBSYSTEM:CONSOLE  @c:\fw\edk2\Buil
> 2\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtGopDxe\WinNtGopDxe\OUTPUT\static_librar
> y_files.lst copy /y
> c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\Hel
> loWorld\HelloWorld\DEBUG\HelloWorld.efi
> c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x8
>    Creating library
> c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtSimpleFileSyste
> mDxe\WinNtSimpleFileSystemDxe\DEBUG\WinNtSimpleFileSystemDxe.lib and object
> 2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Nt32Pkg\WinNtSimpleFileSystemDxe\WinN
> tSimpleFileSystemDxe\DEBUG\WinNtSimpleFileSystemDxe.exp Generating code
>         1 file(s) copied.
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio
> 10.0\Vc\bin\cl.exe"' : return code '0x2'
> Stop.
>         copy /y
> c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\Hel
> loWorld\HelloWorld\DEBUG\*.map
> c:\fw\edk2\Build\NT32IA32\DEBUG_VS2010x86\IA32\Md
> g\Application\HelloWorld\HelloWorld\OUTPUT

-- 
=============================================================================
-Bill Paul            (510) 749-2329 | Senior Member of Technical Staff,
                 wp...@windriver.com | Master of Unix-Fu - Wind River Systems
=============================================================================
   "I put a dollar in a change machine. Nothing changed." - George Carlin
=============================================================================

------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to