Try putting your assignments in a BEGIN block. The use statements are being called before the variables have their assigned values.
our ($INCLUDES, $LIBRARIES); BEGIN { $INCLUDES = '-I"c:\Program Files\ImageMagick-6.7.5-Q16\include"'; $LIBRARIES = '-L"c:/projects/imagemagick/Image-Magic-Wand" -L"c:\Program Files\ImageMagick-6.7.5-Q16\lib" -lwand'; } ... David On Tue, Mar 20, 2012 at 2:37 PM, Michael Roberts <mich...@vivtek.com> wrote: > So here I am, back again. I'm *pretty* sure I understand what's > supposed to happen when I do this: > > > our $INCLUDES = '-I"c:\Program Files\ImageMagick-6.7.5-Q16\include"'; > > our $LIBRARIES = '-L"c:/projects/imagemagick/Image-Magic-Wand" > -L"c:\Program Files\ImageMagick-6.7.5-Q16\lib" -lwand'; > > > > # Configure Inline::C and define all the C functions we'll be calling > in the Perl part of the module. > > use Inline C => Config => LIBS => $LIBRARIES; > > use Inline C => Config => INC => $INCLUDES; > > use Inline C => <<'END_OF_C_CODE' => LIBS => $LIBRARIES => INC => > $INCLUDES; > > > > #include <wand/magick_wand.h> > > > > void Genesis (void) { MagickWandGenesis(); } > > [snip] > > END_OF_C_CODE > > And that is that one or the other of those configuration attempts should > put my -L and -I flags onto the compiler calls. But they don't: > > > # gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE > -DPERL_IMPL > > ICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing > -DPERL_MSVCRT_READFIX -s - > > O2 -DVERSION=\"0.00\" -DXS_VERSION=\"0.00\" > "-IC:\strawberry\perl\lib > > \CORE" Wand_66e4.c > > I'm not even sure where to look to twiddle something here; am I > completely misunderstanding the cookbook example? > > > -- "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." -- Brian Kernighan