PxLoadImage

I know questions regarding PxLoadImage have been answered several times, but
I still have not found the definitive reponse I’m looking for. Here are my
questions wrt QNX 6.2.0:

  1. It states in the documentation regarding phexlib: “These functions are
    only supplied in static form in the Photon library phexlib. You’ll neex to
    link with them specifically.” Yet in a simple PxLoadImage example I had the
    following results:

compiled with: result:
-Bstatic libphexlib.a seg. viol. binary >500k
-Bstatic libphexlib.so seg. viol. binary >500k
-Bstatic phexlib seg. viol. binary >500k
-Bdynamic libphexlib.so okay, libphexlib.so.2 appears in pidin mem,
binary 30k
-Bdynamic libphexlib.a okay, libphexlib does not appear in pidin mem,
binary 32k

Please explain.

  1. The requirement for an external library is confusing also. When
    compiled with -Bdynamic libphexlib.so, the .so is required in the
    LD_LIBRARY_PATH path. When compiled with -Bdynamic libphexlib.a, the
    phexlib library is not required. What is -Bdynamic doing with the .a
    library, and why are the binaries so significantly different in size?

  2. In a previous examples the ever-so-crucial #define header identified the
    pi_io_ modules we want. However, regardless of what SUPPORT’s I use, or
    if I use them at all, my binary always loads any available pi_io
    .so
    libraries (as shown by pidin mem). What is going on with these #defines?

#define PX_IMAGE_MODULES // define the modules we want
#define PX_GIF_SUPPORT
#define PX_JPG_SUPPORT
#define PX_PCX_SUPPORT
#define PX_BMP_SUPPORT

#include <photon/PxImage.h>

Thanks in advance,
Mike Kadour