Set up gcc environment - 3.4.5 (mingw-vista special r3) dlltool --def Zmodem.def --output-exp dll.exp C:\Perl\site\bin\g++.exe -o blib\arch\auto\Device\Modem\Protocol\Zmodem\Zmodem.d ll -Wl,--base-file -Wl,dll.base -mdll -L"C:\Perl\lib\CORE" Zmodem.o -Wl,--image- base,0x3f000000 C:\Perl\lib\CORE\perl510.lib -lkernel32 -luser32 -lgdi32 -lwins pool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_ 32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt dll.exp dll.exp:fake:(.edata+0x34): undefined reference to `boot_Device__Modem__Protocol __Zmodem' dll.exp:fake:(.edata+0x38): undefined reference to `boot_Device__Modem__Protocol __Zmodem' collect2: ld returned 1 exit status dmake.exe: Error code 129, while making 'blib\arch\auto\Device\Modem\Protocol\Z modem\Zmodem.dll'