Problem solved thanks to discussion at https://stackoverflow.com/questions/59845249: MinGW is not MinGW. Instead of mingw.exe, I now use x86_64-w64-mingw32-gcc from http://www.msys2.org. With this, dumpbin reports Symbol name : foo with no underscore, and VS succeeds in linking. - Joachim > MinGW shall compile a shared C library mylib that contains functions like > > declspec(dllexport) int foo(); > > The library shall be used in a C++ application under Visual Studio. > > To inspect the compilation outcome, > > dumpbin /HEADERS mylib.lib > > prints one stance per exported function. The stance for the above function > foo contains the line > > Symbol name : _foo > > So, MinGW does not generate the prefix _imp_. Expectedly, linking the > dependent application fails because Visual Studio cannot find _imp_foo. -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5338 bytes Desc: S/MIME Cryptographic Signature URL: <https://lists.osdn.me/mailman/archives/mingw-users/attachments/20200122/eac52349/attachment.bin>