Dear MSYS list, I've encountered a problem with native Windows DLLs when building a 64 bit executable (EXE) on Windows:
A project is built for 64 bit with MinGW64/MSYS2 on a recent Win10 64 and the resulting EXE does not start. GDB tells me, it exits with error 0xc000007b. The tool 'Dependency Walker' tells me that all depending DLLs of the EXE are 64 bit except one: comctl32.dll for which it depends on the 32 bit version: C:\windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17134.619_none_42f3d87644dde83c\COMCTL32.DLL I verified with objdump the intermediate binaries being 64 bit. This is very likely to be the cause of the error but I am out of options how to debug this, why does it depend on a single 32 bit DLL? The 64 bit version of that DLL exists on the system as well and is used by another build of a slightly different project which uses the same static archive requiring this dependency: C:\windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.17134.619_none_fb46a19f3061bf36\COMCTL32.DLL So, in both cases -Wl,--verbose shows that the linker choses C:/msys64/mingw64/x86_64-w64-mingw32/lib/libcomctl32.a but only in one case this results in the 32 bit DLL dependency. Does someone has a clue, how to trace this down? This problem is reproducible on another system/hardware (tested on Appveyor which runs Win Server). The concerning project is publicly available, if interested, I can give instruction on how to build and reproduce this error. Some detail on the environment: For MSYS2, the package 'msys2-x86_64-20180531.exe' is installed. Next, it is updated and the build tools are installed: pacman -Syuu ARCH=mingw-w64-x86_64; pacman -S --needed --noconfirm base-devel git $ARCH-gcc $ARCH-cmake $ARCH-make $ARCH-diffutils $ARCH-patch The final problematic linker call is this: g++ ../dqkit/kitInit.o ../dqkit/pwb.o ../dqkit/rechan.o ../dqkit/zlib.o ../dqkit/winMain.o ../dqkit/_isnan.o ../res/res.o ../zlib/libz.a ../vfs/vfs13.a ../blt/src/libBLT24.a ../itcl/itcl3.3.a ../tk/libtk84s.a ../mk/mk4tcl.a ../tcl/tclreg12s.a ../tcl/tcldde13s.a ../tcl/libtcl84s.a -lgdi32 -o ../dqkit/dqkit.exe -mwindows -pipe -lcomctl32 -limm32 -lshell32 -lwinspool Thanks for reading! best Ingo _______________________________________________ Msys2-users mailing list Msys2-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/msys2-users