I have been experimenting with 64-bit MinGW stuff, and I have run into a
particularly tricky issue. It seems that the 64-bit Visual C++ 8.0 compil=
does not put a leading underscore on C symbols. The cross-compiler build =
GCC 4.3.0 that I am using does, and that means that a 64-bit C library bu=
using MinGW fails to resolve symbols needed by code compiled by Visual C+=
that is linking against that C library.
What behavior should be expected here? I can use -fno-leading-underscore
when I build the C library using GCC 4.3, but then I have to rebuil the
MinGW w64 CRT with -fno-leading-underscore. That doesn't necessarily solv=
everything, and I must admit that I am not sure what to do about the .def=
files that are processed by dlltool. At this point, I expect that I would=
have to build all 64-bit code on MinGW with -fno-leading-underscore. If I=
want libraries MinGW-compiled to be able to be linked with 64-bit code
compiled by Visual C++ 8, then I think I have to do it that way.
Patrick L. Hartling
VP Engineering, Infiscape Corp.