From: Robert Macy on 28 Dec 2005 17:48 Thank you for your reply, I am beginning to believe that what I have is indeed purposely incomplete. What is installed is Microsoft Visuall C++ Toolkit: VCToolkitSetup.exe Microsoft .NET Framework, SDK, and ATL extended products: dotnetfx.exe, setup.exe, and ATLExt.exe Windows Template Libraries: WTL-70.exe, WTL-71.exe, and WTL-75.exe Fully installed platform SDK PSDKFULL.bat [this is big] Historically, I've been trying to learn about threads, ran across a sample program with the header file atlstr.h which I couldn't find, hence the sample did not compile. For 3 days now I have been trying to find atlstr.h Also at MS website I ran across sample thread programs containing the atlstr.h file, too. My original post erroneously listed VS .NET 2003. [I am new to all this] I am willing to believe that one of the SDK's, or such, had files that fit around VS .NET 2003, so as the SDK installed; it created the folders to hold those files. I saw the folder in "Program Files" Hence my misunderstanding of what I had. [I am new to all this] The description of this massive quantity of time consuming download described itself as "complete" and "all that is necessary to". So I spent the time to download them and install them, only to find that something is still missing. Something that MS still does not tell me where it is. So how do I trust that *if* I pay for some "undefined" software; I will get what I need, and there won't be one more missing piece? I can't. As a sensible person, I was under the impression that what I had *was* crippled enough. Having a lousy line command compiler *and* no IDE and no coherent documentation. I was perfectly willing to use these obnoxious tools to learn enough to see if this is an area I wish to invest in. In order to do this learning I found sample programs - at the source of Windows: MS website - which were not useable for me. AND more importantly, please listen to this, I don't know what I need, or don't have. It seems incumbent to me that the supplier of all this stuff, Microsoft, should be aware of what is missing, or where something resides. I am startled that this information is either not known at MS, or worse, purposely obfuscated. To me, this is not reasonable strategy for winning customers. In other words, what do I get when I pay them. It certainly doesn't look like help. It has taken much time and the valuable help, luckily supplied by people like yourself, to tell me what Microsoft should have already told me and had as ready information for their potential customers. I must be very old fashioned to think that it is the VENDOR's responsibility to educate their consumer. - Robert -
From: Carl Daniel [VC++ MVP] on 28 Dec 2005 23:22 Robert Macy wrote: > Don't think I have the IDE. > > What is installed is > > Microsoft Visuall C++ Toolkit: > VCToolkitSetup.exe > > Microsoft .NET Framework, SDK, and ATL extended products: > dotnetfx.exe, setup.exe, and ATLExt.exe > > Windows Template Libraries: > WTL-70.exe, WTL-71.exe, and WTL-75.exe > > Fully installed platform SDK > PSDKFULL.bat > [this is big] Then that explains it. You don't have <atlstr.h> unless you've installed Visual Studio Standard Edition or above. -cd
From: John Carson on 29 Dec 2005 01:38 "Robert Macy" <macy(a)california.com> wrote in message news:1135810089.266014.73450(a)g44g2000cwa.googlegroups.com > Thank you for your reply, I am beginning to believe that what I have > is indeed purposely incomplete. > > What is installed is > > Microsoft Visuall C++ Toolkit: > VCToolkitSetup.exe > > Microsoft .NET Framework, SDK, and ATL extended products: > dotnetfx.exe, setup.exe, and ATLExt.exe > > Windows Template Libraries: > WTL-70.exe, WTL-71.exe, and WTL-75.exe > > Fully installed platform SDK > PSDKFULL.bat > [this is big] > > > Historically, I've been trying to learn about threads, ran across a > sample program with the header file atlstr.h which I couldn't find, > hence the sample did not compile. For 3 days now I have been trying > to find atlstr.h Also at MS website I ran across sample thread > programs containing the atlstr.h file, too. > > My original post erroneously listed VS .NET 2003. [I am new to all > this] I am willing to believe that one of the SDK's, or such, had > files that fit around VS .NET 2003, so as the SDK installed; it > created the folders to hold those files. I saw the folder in > "Program Files" Hence my misunderstanding of what I had. [I am new > to all this] > > The description of this massive quantity of time consuming download > described itself as "complete" and "all that is necessary to". In a sense, these claims are correct. You are not limited in the programs you can write, only in the approaches that you may take to writing them. See below. > So I > spent the time to download them and install them, only to find that > something is still missing. Something that MS still does not tell me > where it is. I don't understand this claim. ATL is part of every version of Visual Studio that includes VC++. > So how do I trust that *if* I pay for some "undefined" > software; I will get what I need, and there won't be one more missing > piece? I can't. > > As a sensible person, I was under the impression that what I had *was* > crippled enough. Having a lousy line command compiler *and* no IDE > and no coherent documentation. I was perfectly willing to use these > obnoxious tools to learn enough to see if this is an area I wish to > invest in. In order to do this learning I found sample programs - at > the source of Windows: MS website - which were not useable for me. > AND more importantly, please listen to this, I don't know what I > need, or don't have. It seems incumbent to me that the supplier of > all this stuff, Microsoft, should be aware of what is missing, or > where something resides. I am startled that this information is > either not known at MS, or worse, purposely obfuscated. To me, this > is not reasonable strategy for winning customers. In other words, > what do I get when I pay them. It certainly doesn't look like help. I sympathise with your frustration. The range of tools and options available in Windows programming makes it easy to head down a wrong path. And advertising puffery doesn't help. What you really need, and currently lack, is an understanding of the Windows programming "landscape". Without that, there is no way to make appropriate decisions on products or make appropriate use of documentation and sample programs. Whenever I buy any moderately complex product in an unfamiliar area (a stereo system, say), I have difficulty figuring out what version to buy since I don't know the significance of various features. In my experience, sales people are generally worse than useless, and I need to spend days doing my own research. The same considerations apply here, but the problems are magnified many times because the product is vastly more complicated. There are many approaches you can take to Windows programming, even given the choice of C++ as programming language, due to the wide range of available libraries (chiefly the Active Template Library, ATL, the Microsoft Foundation Classes, MFC, and the .Net library --- plus a whole lot of 3rd party libraries). A typical Windows programmer is competent only in a subset of these and, even if competent in them all, will typically only use one approach for each project. If such a programmer were to download a random sample on, say, threading, then there is a good chance that the programmer would not be able to understand or make use of it, even if they have a Visual Studio version that supports it. An ATL sample will not normally be of interest to someone writing a program using MFC, and neither ATL nor MFC samples will be of interest to someone using the .Net library. None of the three will be of interest to someone who programs directly in terms of the Win32 API. Thus Windows programmers learn where the documentation/samples of relevance to them are to be found and, for the most part, disregard the rest. Rather than trying to chase down individual header files and rather than focus on an area of interest (threading, graphics...), you need to focus on an approach to Windows programming. If you are to use the Win32 API exclusively, then the free versions of the compiler do have all you need. You just need to steer clear of documentation/samples that pertain to other approaches. If you get your samples from the Platform SDK rather than select individual samples from the Microsoft site or elsewhere, then you won't be distracted by ATL or MFC. Programming using the Win32 API (directly) is the oldest approach and is used less these days. The most modern (not to say necessarily the best) approach is to use the .Net library. To use this with C++, however, you need to learn the Microsoft extended version of C++ known as C++/CLI. The fact that the free versions of the compiler offer these two choices (Win32 API or .Net) is not an accident. Microsoft is pushing the use of the .Net library, so it doesn't want to give you too much in the way of attractive alternatives --- not for free anyway. (WTL, incidentally, is freely available but depends on ATL and is therefore not an option without it.) Of course, Microsoft has to hold something back or no-one would pay money for the other versions of its development tools. As I have already stated, if you want to program using ATL or MFC, then you need a version of Visual Studio (I don't know about the 2005 version of Visual Studio Standard, but the earlier versions were the source of some frustration, so Visual Studio Professional is probably what you should be looking at, finances permitting; there is a much cheaper student version of VS Professional if you qualify). Once again, you need to be clear that you are doing either ATL or MFC programming and only attempt to use sample code employing the same framework. -- John Carson
From: Stephen Howe on 29 Dec 2005 06:59 > I don't understand this claim. ATL is part of every version of Visual Studio > that includes VC++. Not so. It is not in Visual Studio Express 2005 yet that includes the C++ compiler. Nor is MFC. Stephen Howe
From: John Carson on 29 Dec 2005 08:29
"Stephen Howe" <stephenPOINThoweATtns-globalPOINTcom> wrote in message news:e8M0S9GDGHA.516(a)TK2MSFTNGP15.phx.gbl >> I don't understand this claim. ATL is part of every version of >> Visual Studio that includes VC++. > > Not so. It is not in Visual Studio Express 2005 yet that includes the > C++ compiler. > Nor is MFC. > > Stephen Howe We are in a purely semantic argument here. I agree that no Express Edition includes ATL and MFC and have said so previously in this thread. My reference to Visual Studio in the passage you quoted was not meant to include the Express editions. This is because there is no single "Visual Studio Express" product that incorporates VC++ Express, VC# Expresss and the like in the way that Visual Studio Professional, say, incorporates VC++, VC# etc. Thus "Visual Studio Express" is a marketing umbrella rather than an actual product. Let's be unambiguous shall we? In order to get ATL and MFC, you must get one of the following three: 1. Visual Studio Standard 2. Visual Studio Professional 3. Visual Studio Team System (which comes in several versions) Visual Studio for Office does *not* include ATL/MFC because it does not include VC++. -- John Carson |