On 3/20/2012 4:39 PM, David Mertens wrote: > Fixed in under an hour. Go open source! :-D ALMOST fixed. The INC works, but LIBS doesn't. Here's the current code - note that I'm actually specifying the LIBS explicitly, just to eliminate all possibility of confusion.
> BEGIN { > $INCLUDES = '-Ic:\\Program Files\\ImageMagick-6.7.5-Q16\\include'; > $LIBRARIES = '"-LC:\\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 => '"-LC:\\Program Files\\ImageMagick-6.7.5-Q16\\lib" -lwand' => INC => $INCLUDES; #$LIBRARIES; > use Inline C => <<'END_OF_C_CODE'; > > #include <wand/magick_wand.h> > > void Genesis (void) { MagickWandGenesis(); } > [snip] > END_OF_C_CODE But no dice: > # dlltool --def Wand_829d.def --output-exp dll.exp > # g++ -o blib\arch\auto\Image\Magick\Wand_829d\Wand_829d.dll -Wl,--base-file -Wl > ,dll.base -mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" Wand_ > 829d.o -Wl,--image-base,0x8590000 C:\strawberry\perl\lib\CORE\libperl510.a C:\s > trawberry\c\lib\libmoldname.a C:\strawberry\c\lib\libkernel32.a C:\strawberry\c\ > lib\libuser32.a C:\strawberry\c\lib\libgdi32.a C:\strawberry\c\lib\libwinspool.a > C:\strawberry\c\lib\libcomdlg32.a C:\strawberry\c\lib\libadvapi32.a C:\strawber > ry\c\lib\libshell32.a C:\strawberry\c\lib\libole32.a C:\strawberry\c\lib\libolea > ut32.a C:\strawberry\c\lib\libnetapi32.a C:\strawberry\c\lib\libuuid.a C:\strawb > erry\c\lib\libws2_32.a C:\strawberry\c\lib\libmpr.a C:\strawberry\c\lib\libwinmm > .a C:\strawberry\c\lib\libversion.a C:\strawberry\c\lib\libodbc32.a C:\strawberr > y\c\lib\libodbccp32.a dll.exp > # Wand_829d.o:Wand_829d.c:(.text+0x28): undefined reference to `NewMagickWand' > # Wand_829d.o:Wand_829d.c:(.text+0x5): undefined reference to `MagickWandGenesis > ' ... etc. Looking at Inline's Makefile.PL and Makefile, the LIBS parameter is built and passed OK, and even appears in the Makefile comments - but doesn't actually appear in the Makefile elsewhere. I've got to be missing something obvious...