OK, now I can compile Locale::gettext correctly. But unfortunatly, the gettext.xs.dll it builds up won't load.
I used the Strawberry portable Perl 64 with the standard build method (as cpan fails) by downloading the module and doing perl Makefile.PL; gmake to generate it. And it fails on gmake test.
If I ldd gettext.xs.dll, I find it has some unknown unresolved references:
ldd.exe gettext.xs.dll
ntdll.dll => /c/Windows/SYSTEM32/ntdll.dll (0x7ffb4d030000)
KERNEL32.DLL => /c/Windows/System32/KERNEL32.DLL (0x7ffb4ac300
+00)
KERNELBASE.dll => /c/Windows/System32/KERNELBASE.dll (0x7ffb49
+e50000)
??? => ??? (0x67a00000)
??? => ??? (0x7ffb4a490000)
but "???" doesn't really help to identify the problem. I suspect it still has something to do with 32bit vs 64bit but don't really know what to do next. Searching... :-)
I think the two unknown references should have been:
apphelp.dll => /c/Windows/SYSTEM32/apphelp.dll (0x7ffb47210000)
msvcrt.dll => /c/Windows/System32/msvcrt.dll (0x7ffb4a490000)
Here is the log of gmake in case it could help:
"C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\perl\bin\perl.ex
+e" -MExtUtils::Command::MM -e cp_nonempty -- gettext.bs blib\arch\aut
+o\Locale\gettext\gettext.bs 644^M
"C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\perl\bin\perl.ex
+e" "C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\perl\lib\Ext
+Utils/xsubpp" -typemap C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-p
+ortable\perl\lib\ExtUtils\typemap gettext.xs > gettext.xsc^M
Please specify prototyping behavior for gettext.xs (see perlxs manual)
+^M
"C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\perl\bin\perl.ex
+e" -MExtUtils::Command -e mv -- gettext.xsc gettext.c^M
gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDI
+O -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
+ -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 -D
+VERSION=\"1.07\" -DXS_VERSION=\"1.07\" "-IC:\Users\Moi\strawberry-pe
+rl-5.28.1.1-64bit-portable\perl\lib\CORE" gettext.c^M
"C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\perl\bin\perl.ex
+e" -MExtUtils::Mksymlists \^M
-e "Mksymlists('NAME'=>\"Locale::gettext\", 'DLBASE' => 'gettext'
+, 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS'
+=> []);"^M
g++.exe gettext.def -o blib\arch\auto\Locale\gettext\gettext.xs.dll -m
+dll -s -L"C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\perl\l
+ib\CORE" -L"C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\c\li
+b" gettext.o "C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\
+perl\lib\CORE\libperl528.a" "C:\Users\Moi\strawberry-perl-5.28.1.1-64
+bit-portable\c\lib\libintl.a" "C:\Users\Moi\strawberry-perl-5.28.1.1-
+64bit-portable\c\x86_64-w64-mingw32\lib\libmoldname.a" "C:\Users\Moi\
+strawberry-perl-5.28.1.1-64bit-portable\c\x86_64-w64-mingw32\lib\libk
+ernel32.a" "C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\c\x8
+6_64-w64-mingw32\lib\libuser32.a" "C:\Users\Moi\strawberry-perl-5.28.
+1.1-64bit-portable\c\x86_64-w64-mingw32\lib\libgdi32.a" "C:\Users\Moi
+\strawberry-perl-5.28.1.1-64bit-portable\c\x86_64-w64-mingw32\lib\lib
+winspool.a" "C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\c\x
+86_64-w64-mingw32\lib\libcomdlg32.a" "C:\Users\Moi\strawberry-perl-5.
+28.1.1-64bit-portable\c\x86_64-w64-mingw32\lib\libadvapi32.a" "C:\Use
+rs\Moi\strawberry-perl-5.28.1.1-64bit-portable\c\x86_64-w64-mingw32\l
+ib\libshell32.a" "C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portabl
+e\c\x86_64-w64-mingw32\lib\libole32.a" "C:\Users\Moi\strawberry-perl-
+5.28.1.1-64bit-portable\c\x86_64-w64-mingw32\lib\liboleaut32.a" "C:\U
+sers\Moi\strawberry-perl-5.28.1.1-64bit-portable\c\x86_64-w64-mingw32
+\lib\libnetapi32.a" "C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-port
+able\c\x86_64-w64-mingw32\lib\libuuid.a" "C:\Users\Moi\strawberry-per
+l-5.28.1.1-64bit-portable\c\x86_64-w64-mingw32\lib\libws2_32.a" "C:\U
+sers\Moi\strawberry-perl-5.28.1.1-64bit-portable\c\x86_64-w64-mingw32
+\lib\libmpr.a" "C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\
+c\x86_64-w64-mingw32\lib\libwinmm.a" "C:\Users\Moi\strawberry-perl-5.
+28.1.1-64bit-portable\c\x86_64-w64-mingw32\lib\libversion.a" "C:\User
+s\Moi\strawberry-perl-5.28.1.1-64bit-portable\c\x86_64-w64-mingw32\li
+b\libodbc32.a" "C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\
+c\x86_64-w64-mingw32\lib\libodbccp32.a" "C:\Users\Moi\strawberry-perl
+-5.28.1.1-64bit-portable\c\x86_64-w64-mingw32\lib\libcomctl32.a" -Wl,
+--enable-auto-image-base^M
"C:\Users\Moi\strawberry-perl-5.28.1.1-64bit-portable\perl\bin\perl.ex
+e" -MExtUtils::Command -e chmod -- 755 blib\arch\auto\Locale\gettext\
+gettext.xs.dll^