AnsweredAssumed Answered

Pragma warnings when using sysroot for header file path

Question asked by skstrobel on Feb 21, 2013
Latest reply on Feb 22, 2013 by Aaronwu

When building applications standalone (in my case using Eclipse) inside a buildroot installation that provides needed include files (such as for ALSA and Boost), what include directory should I use to locate the header files?

 

I can directly include the build directories and everything compiles normally:

    ...../output/build/alsa-lib-1.0.25/include/

    ...../output/build/boost-1.49.0/

 

But that doesn't seem like the right way to do it.  So I tried including this instead:

    ...../output/host/usr/bfin-linux-uclibc/sysroot/usr/include/

 

That also allows for the needed header files to be found, but apparently also changes what other header files are used in other places, as when using it I get warnings like these when compiling other files (files that don't even use the alsa/boost headers):

 

    ../../../../output/host/usr/bfin-linux-uclibc/sysroot/usr/include/fract_complex.h:16: warning: ignoring #pragma system_header

    ../../../../output/host/usr/bfin-linux-uclibc/sysroot/usr/include/fr2x16_typedef.h:3: warning: ignoring #pragma system_header

    ../../../../output/host/usr/bfin-linux-uclibc/sysroot/usr/include/raw_typedef.h:3: warning: ignoring #pragma system_header

 

Should I just ignore those warnings?  Is there something set up incorrectly that causes them?  I installed the 2012R2 toolchain by extracting the tar files from / (so it extracts into /opt/uClinux), which seemed to work fine with the way buildroot was set up to default to an external toolchain.  It strikes me a little odd that the sysroot directory is under output/host rather than output/target, but I didn't find the needed header files anywhere else.

 

Thanks,

Steve

Outcomes