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:
- 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.
-
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? -
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