|
Prev: Are coompilers required to allow unwind semantics to be turnedoff?
Next: Using ATL::CString in old makefile projects
From: wscholine on 15 May 2008 16:56 This is with VS2K5Pro SP1. I did the following experiment: create a Win32 Console project, check the box for “ATL Headers” in the Application Settings dialog and compile the resulting stub program. Look at the build log HTML. Among other options, it specifies “/FD” which as far as I can tell is undocumented. And “/TP .\stdafx.cpp” where /TP is supposed to be “treat all files as C++” and is not supposed to take a filename argument (/Tpfilespec is the one that means “treat the following file as C++ no matter how it’s named”). I can find some ancient posts that say /FD was for generating makefile dependencies (this is like, 2001 or so) and another claim (from 2004 I think) that it was for enabling minimal rebuild. Exporting makefiles went away long ago, and minimal rebuild is now /Gm. Apparently this has been undocumented for a long time... these old posts also complain about /FD not showing up in the output of cl /?. And it does seem to be an option that does something... if you stick a random unused letter in the flags (/K, say) cl will issue warning D9002 and say that it's "ignoring unknown option '/K'" but it doesn't do that with /FD. Anybody know what this is?
From: Alf P. Steinbach on 15 May 2008 17:19 * wscholine: > This is with VS2K5Pro SP1. > > I did the following experiment: create a Win32 Console project, check > the box for �ATL Headers� in the Application Settings dialog and > compile the resulting stub program. Look at the build log HTML. > > Among other options, it specifies �/FD� which as far as I can tell is > undocumented. And �/TP .\stdafx.cpp� where /TP is supposed to be > �treat all files as C++� and is not supposed to take a filename > argument (/Tpfilespec is the one that means �treat the following file > as C++ no matter how it�s named�). > > I can find some ancient posts that say /FD was for generating makefile > dependencies (this is like, 2001 or so) and another claim (from 2004 I > think) that it was for enabling minimal rebuild. Exporting makefiles > went away long ago, and minimal rebuild is now /Gm. > > Apparently this has been undocumented for a long time... these old > posts also complain about /FD not showing up in the output of cl /?. > > And it does seem to be an option that does something... if you stick a > random unused letter in the flags (/K, say) cl will issue warning > D9002 and say that it's "ignoring unknown option '/K'" but it doesn't > do that with /FD. > > Anybody know what this is? With MSVC 7.1 it generates a "minimal rebuild" file [vc70.idb]. Don't know if that's the only effect. Cheers, & hth., - Alf -- A: Because it messes up the order in which people normally read text. Q: Why is it such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
From: Igor Tandetnik on 15 May 2008 17:16
wscholine <wscholine(a)gmail.com> wrote: > Among other options, it specifies �/FD� which as far as I can tell is > undocumented. http://msdn.microsoft.com/en-us/library/6ce2bkt7.aspx > And �/TP .\stdafx.cpp� where /TP is supposed to be > �treat all files as C++� and is not supposed to take a filename > argument (/Tpfilespec is the one that means �treat the following file > as C++ no matter how it�s named�). ..\stdafx.cpp is not a parameter to /TP switch. It's an unrelated part of the command line - just a file to compile. -- With best wishes, Igor Tandetnik With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead. -- RFC 1925 |