On Jan 31, 2014, at 4:11 PM, John Davis <[email protected]> wrote:

> Hello
> 
> I'm trying to #include <PeImage.h> in a .c file.
> I think, but not certain that the inf file [LibraryClasses] determines the 
> include path as well as libs to link.  With that said I added 
> 

Include paths are inherited from packages. So it is the [Packages] section you 
need to look at.
For https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/MdePkg.dec
you will see that the public include path is MdePkg/Include so
#include <IndustryStandard/PeImage.h>

Also you could probably figure this out form grep’ing the source base:
>git grep PeImage.h
Include/Library/PeCoffLib.h:22:#include <IndustryStandard/PeImage.h>
Include/Protocol/DebugSupport.h:24:#include <IndustryStandard/PeImage.h>
Library/BasePeCoffGetEntryPointLib/PeCoffGetEntryPoint.c:23:#include 
<IndustryStandard/PeImage.h>
Library/BasePeCoffLib/BasePeCoffLibInternals.h:23:#include 
<IndustryStandard/PeImage.h>


> [LibraryClasses]
>   UefiApplicationEntryPoint
>   UefiLib
>   BaseLib
> 

The LibraryClass is about what libraries you link against. The LibraryClass 
implies a .h file that defines the LibraryClass, and that is what you 
driver/application is coded against. The .DSC file picks a library instance and 
that is what gets linked with your application/driver. By Implies I mean your C 
code #includes the library headers it needs and calls Library functions. The 
function of the [LibraryClasses] section is linking the libraries. So if you 
miss a library class you will get link errors for those lib functions. 

Thanks,

Andrew Fish


> To my BaseLib to that section as shown, but it still does not pick it up 
> during a > build all
> 
> -- 
> John F. Davis
> 6 Kandes Court
> Durham, NC 27713
> 919-888-8358
> 
> 独树一帜
> 
> 
> ------------------------------------------------------------------------------
> WatchGuard Dimension instantly turns raw network data into actionable 
> security intelligence. It gives you real-time visual feedback on key
> security issues and trends.  Skip the complicated setup - simply import
> a virtual appliance and go from zero to informed in seconds.
> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk_______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to