Currently Inline is choosing the following defaults for MSVC++: elsif ( $Config{osname} =~ m/^MSWin/ ) { $cc_guess = 'cl -TP -EHsc'; $libs_guess = ' MSVCIRT.LIB '; }
However, the docs I found here: http://support.microsoft.com/kb/154753 ...suggest that library pertains to the old style iostream.h headers, and that there are other options for the newer iostream headers. I have a PASS test case here: http://www.cpantesters.org/cpan/report/6c31c478-0eee-1019-8efa-b89a05085451 ...where we're fortunate enough that the smoke tester had ExtUtils::CppGuess installed (in which case one of my optional tests runs), and that gave me additional info. # Detected MSWin (probably ActiveState). # # Compiler guesses: # EU::CppGuess: [cl -TP -EHsc ], # Makefile.PL: [cl -TP -EHsc]. # Linker guesses: # EU::CppGuess: [ msvcprt.lib ], # Makefile.PL: [MSVCIRT.LIB]. t/08cppguess.t ......... ok So EU::CppGuess is recommending msvcprt.lib. That library seems to pertain to a debug compile. There are other options for single and multi-threaded non-debug environments. Does anyone have any input on what (if any) changes we should be making here? I'm thinking the logic needs additional complexity to determine if we've got a debug build of Perl, and if we're in a single or multi-threaded environment. Although nobody seems to have complained yet, and I'm not seeing any FAILs. Maybe it's not an issue. ...or maybe an issue that will only turn up if someone tries to use iostream in their C++ extension code. Dave -- David Oswald daosw...@gmail.com