in reply to Installing Imager::QRCode on windows 8

The undefined references should be resolved by linking to the pthreads library.
Strawberry seems to provide pthreads - there's a c\x86_64-w64-mingw32\lib\libpthread.a which is probably the import library to which you should link.

I think the corrected version of the failing g++ -o ... command would have:
-L"C:\strawberry\c\x86_64-w64-mingw32\lib -lpthread"
inserted between the -lcomtl32 and the dll.exp.
You could 'cd' to the build directory and run by hand (copy'n'paste it in to the command line, then hit 'Enter') that *corrected* version of that failing command.
Then run dmake test and dmake install
Or you could find some other way of correcting the build procedure.

The strawberry mailing list could probably provide good help if all else fails.

Cheers,
Rob

UPDATE: I just tried the hack I suggested above, and it worked fine for me. (Note that my libpthread.a is in a different location to the OP's. Modify accordingly.)
C:\_64\strawberry518>cpan -i Imager::QRCode . . . g++.exe -o blib\arch\auto\Imager\QRCode\QRCode.dll -Wl,--base-file -Wl +,dll.base -mdll -s -L"C:\_64\strawberry518\perl\lib\CORE" -L"C:\_64\s +trawberry518\c\lib" src/bitstream.o src/mask.o src/mmask.o +src/mqrspec.o src/QRCode.o src/qrencode.o src/qrinput.o src/qrsp +ec.o src/rscode.o src/split.o C:\_64\strawberry518\perl\lib\C +ORE\libperl518.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -l +comdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -l +ws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp src/mqrspec.o:mqrspec.c:(.text+0x188): undefined reference to `pthread +_mutex_lock' src/mqrspec.o:mqrspec.c:(.text+0x19b): undefined reference to `pthread +_mutex_unlock' src/mqrspec.o:mqrspec.c:(.text+0x31c): undefined reference to `pthread +_mutex_lock' src/mqrspec.o:mqrspec.c:(.text+0x346): undefined reference to `pthread +_mutex_unlock' c:/_64/strawberry518/c/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../. +./../x86_64-w64-mingw32/bin/ld.exe: src/mqrspec.o: bad reloc address +0x0 in section `.pdata' c:/_64/strawberry518/c/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../. +./../x86_64-w64-mingw32/bin/ld.exe: final link failed: Invalid operat +ion collect2: ld returned 1 exit status dmake.EXE: Error code 129, while making 'blib\arch\auto\Imager\QRCode +\QRCode.dll' KURIHARA/Imager-QRCode-0.034.tar.gz C:\_32\strawberry514\c\bin\dmake.EXE -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible C:\_64\strawberry518>cd \Users\sisyphus\.cpan\build\Imager-QRCode-0.03 +4-agp6k1 C:\Users\sisyphus\.cpan\build\Imager-QRCode-0.034-AGp6k1>g++.exe -o bl +ib\arch\auto\Imager\QRCode\QRCode.dll -Wl,--base-file -Wl,dll.base -m +dll -s -L"C:\_64\strawberry518\perl\lib\CORE" -L"C:\_64\strawberry518 +\c\lib" src/bitstream.o src/mask.o src/mmask.o src/mqrspec. +o src/QRCode.o src/qrencode.o src/qrinput.o src/qrspec.o src/ +rscode.o src/split.o C:\_64\strawberry518\perl\lib\CORE\libperl5 +18.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -la +dvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr + -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -L"C:\_64\strawberr +y518\c\x86_64-w64-mingw32\lib" -lpthread dll.exp C:\Users\sisyphus\.cpan\build\Imager-QRCode-0.034-AGp6k1>dmake C:\_64\strawberry518\perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e +cp -- QRCode.bs blib\arch\auto\Imager\QRCode\QRCode.bs C:\_64\strawberry518\perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e +chmod -- 644 blib\arch\auto\Imager\QRCode\QRCode.bs C:\Users\sisyphus\.cpan\build\Imager-QRCode-0.034-AGp6k1>dmake test C:\_64\strawberry518\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" +"test_harness(0, 'inc', 'blib\lib', 'blib\arch')" t/00.load.t t/01.pl +ot.t t/00.load.t .. # Testing Imager::QRCode 0.034 t/00.load.t .. ok t/01.plot.t .. ok All tests successful. Files=2, Tests=5, 0 wallclock secs ( 0.05 usr + 0.03 sys = 0.08 CPU +) Result: PASS C:\Users\sisyphus\.cpan\build\Imager-QRCode-0.034-AGp6k1>

Replies are listed 'Best First'.
Re^2: Installing Imager::QRCode on windows 8
by shohn (Novice) on Nov 14, 2013 at 14:52 UTC
    That worked on windows 8 too. Thanks a lot.