Some of the information and knowledge derived from the network, the specific reference source is unclear.
VS's IDE from VC6 to VS2010 change is upside down, the latest VS2010 has a feature is to support multi-monitor development, which undoubtedly for our development to bring great convenience.
The various versions of VC also have its own characteristics, like VC6 is known for fast speed.
As the operating system evolves, even developers are tempted by the gorgeous interface of the new system. I am haha.
Win7 has not paid much attention since it was officially released, because he had tried Vista before and was defeated by various setbacks. Last year, I was officially on the road to using Win7.
The result Win7 still very useful. I don't know if Win8 will be better to use after the release of the official version.
System replacement of the corresponding software and various tools of course it is best to keep up with the pace, this is perfect.
There is a game code in the hand is very big, but VC7.1 project, has always wanted to convert all kinds of means to VS2008 even VS2010, have all kinds of inexplicable bug strum ended.
Can carry more than one monitor to do development, did not play the most useful feeling is too wasteful.
In the last period of time, the VS2008 installation directory of the include Lib are replaced by VC7.1 attempt to compile. The result is cl.exe error first. The reason is that the response file for VS2008 is the Unicode format by default.
Change to ANSI after basic no error, but compile time cl.exe often appear suspended animation. The reason may be that some of the parameters or parts of the response file cannot be correctly identified.
Then gave up again.
These days began to study QT This open-source GUI library (so a bit wronged qt, in fact, QT is not only a powerful GUI library, there are a lot of things worth learning, such as signal/slot mode)
QT with VS2008 then that code continues to use VS2003 more and more feel VS2003 that the IDE interface is too corny. And when you drag a subwindow, it gets very jammed.
Then went to search for solutions, after unremitting efforts, finally in the GFW wall countless times after found an article. (In fact, I am not careful, if you think of VS2010 why to provide a "platform toolset" option to find information early)
The topic is too far away to get to the point:
VS2010 is supported for compiling with different versions of VCs. Just not a lot of people study it.
First install from http://daffodil.codeplex.com/Download support tool (open source project, interested in self-study).
After installation, the "Platform Toolset" subkey in the VS2010 project properties will see that there is no longer only the previous V90 and V100, which appears from V60 V70 v71 v80 is the corresponding VC6 vc7 vc7.1 Vc8
Of course, if you have already installed these versions in your system, you can use them directly, without any additional setup.
The following scenario is for machines with only vs2010 installed.
Each version of the platform toolset needs to have its own include Lib files, which are read from the registry by default
These files are in the VC directory under the installed VS version home directory. For example, include CRT Atlmfc lib these folders, you can go to the computer to copy over
In addition, the compile time also needs to specify the version of the bin file, such as Cl.exe link.exe, where cl.exe will also need the appropriate mspdb*.dll (* for a specific version number) and other files
So go to the IDE directory under the Common7 directory to find these files.
In short, each version has its own include Lib and other files, but also to ensure that the compiler linker and so on can be normal operation.
After these files are gathered up, the next step is to modify the registry to let VS2010 find out where our files are.
The registry path can refer to the v** (version number) under C:\Program files\msbuild\microsoft.cpp\v4.0\platforms\win32\platformtoolsets Microsoft.cpp.win32.v**.props files in the directory
This file is the assignment of several environment variables used in VS2010. Commonly used have
$ (VSInstallDir)----vs installation directory (required for some DLLs)
$ (VCInstallDir)----VC installation directory (include LIB files, etc.)
$ (ExecutablePath)----executable Tool catalog (CL link, etc.)
Taking VC7.1 as an example
<platformtoolsetversion>71</platformtoolsetversion> <VCInstallDir>$ (registry:hkey_local_machine\software\microsoft\visualstudio\7.1\setup\[email protected])</VCInstallDir> <VCInstallDirCondition= "' $ (vcinstalldir) ' = = '">$ (registry:hkey_local_machine\software\wow6432node\microsoft\visualstudio\7.1\setup\[email protected])</VCInstallDir> <VCInstallDirCondition= "' $ (vcinstalldir) ' = = '">$ (registry:hkey_local_machine\software\microsoft\vcexpress\7.1\setup\[email protected])</VCInstallDir> <VCInstallDirCondition= "' $ (vcinstalldir) ' = = '">$ (registry:hkey_local_machine\software\wow6432node\microsoft\vcexpress\7.1\setup\[email protected])</VCInstallDir> <VSInstallDir>$ (registry:hkey_local_machine\software\microsoft\visualstudio\7.1\setup\[email protected])</VSInstallDir> <VSInstallDirCondition= "' $ (vsinstalldir) ' = = '">$ (registry:hkey_local_machine\software\wow6432node\microsoft\visualstudio\7.1\setup\[email protected])</VSInstallDir> <VSInstallDirCondition= "' $ (vsinstalldir) ' = = '">$ (registry:hkey_local_machine\software\microsoft\vcexpress\7.1\setup\[email protected])</VSInstallDir> <VSInstallDirCondition= "' $ (vsinstalldir) ' = = '">$ (registry:hkey_local_machine\software\wow6432node\microsoft\vcexpress\7.1\setup\[email protected])</VSInstallDir> <WindowsSDKDirCondition= "' $ (windowssdkdir) ' = = '">$ (VCInstallDir) platformsdk\</WindowsSDKDir> <FrameworkDirCondition= "' $ (useenv) '! = ' true '">$ (registry:hkey_local_machine\software\microsoft\[email protected])</FrameworkDir> <FrameworkDirCondition= "' $ (frameworkdir) ' = = '">$ (registry:hkey_local_machine\software\wow6432node\microsoft\[email protected])</FrameworkDir> <FrameworksdkdirCondition= "' $ (useenv) '! = ' true '">$ (VSInstallDir) sdk\v1.1\</Frameworksdkdir> <frameworkversionCondition= "' $ (useenv) '! = ' true '">v1.1.4322.573</frameworkversion> <ExecutablePathCondition= "' $ (executablepath) ' = = '">$ (VCInstallDir) bin;$ (VCInstallDir) platformsdk\bin;$ (VCInstallDir) platformsdk\common\bin;$ (VSInstallDir) Common7 \tools\bin;$ (VSInstallDir) common7\tools;$ (VSInstallDir) common7\ide;$ (ProgramFiles) \HTML help Workshop;$ ( Frameworksdkdir) bin;$ (FrameworkDir) $ (frameworkversion); $ (VSInstallDir); $ (SystemRoot) \syswow64;$ (Fxcopdir); $ ( PATH);</ExecutablePath> <IncludepathCondition= "' $ (includepath) ' = = '">$ (VCInstallDir) include;$ (VCInstallDir) atlmfc\include;$ (VCInstallDir) platformsdk\include;$ (VCInstallDir) platformsdk\common\include;$ (Frameworksdkdir) include;</Includepath> <ReferencePathCondition= "' $ (referencepath) ' = = '">$ (FrameworkDir) $ (frameworkversion); $ (VCInstallDir) Atlmfc\lib;</ReferencePath> <LibraryPathCondition= "' $ (librarypath) ' = = '">$ (VCInstallDir) lib;$ (VCInstallDir) atlmfc\lib;$ (VCInstallDir) atlmfc\lib\i386;$ (VCInstallDir) PlatformSDK\lib;$ ( VCInstallDir) platformsdk\common\lib;$ (frameworksdkdir) lib;$ (VSInstallDir); $ (VSInstallDir) Lib;</LibraryPath> <SourcePathCondition= "' $ (sourcepath) ' = = '">$ (VCInstallDir) atlmfc\src\mfc;$ (VCInstallDir) atlmfc\src\atl;$ (VCInstallDir) crt\src;</SourcePath>
The green Bold section is the path to the various files required for this version, and note that the path must end with "\".
$ (VSInstallDir) is read from hkey_local_machine\software\microsoft\visualstudio\7.1\setup\VS The value of the Productdir
$ (VCInstallDir) is the value of Productdir read from hkey_local_machine\software\microsoft\visualstudio\ 7.1\setup\ VC
$ (ExecutablePath) is set according to the above two environment variables, there is a $ (vsinstalldir) Common7\IDE description may be used inside the DLL or EXE and other executable files ( In the experiment, the Mspdb80.dll in the IDE is used.
This file is in XML format syntax not studied in detail, but it is not difficult to see <vcinstalldir condition= "' $ (vcinstalldir) ' = = '" >*</VCInstallDir> This sentence should be $ ( VCInstallDir) The value of $ (VCInstallDir) is set when the environment variable is empty (avoid overwriting existing settings)
This adds the registration table to the path we need. It is not recommended to modify this document directly, do not know why not recommended .....
I've packaged VC6 VC7.1 and VC9 's platform toolset and uploaded it with a registry script that can be modified to import as appropriate.
The reason not to make VC7.0 and VC8 tool Set, 1 is not installed on the computer, 2 is the feeling that these three versions are more classic. VC6 is known as the fast VC7.1 eclectic VC8 and VC9 are similar.
Yes, VC8 (VS2005) and later need to be aware of the time_t type occupancy problem, VC8 the following is 32-bit, VC8 and later default is 64-bit, you can define the macro _use_32bit_time_t to use 32-bit time _t.
Also, the source path cannot have Chinese, or at least the path of the linker generation EXE can not contain Chinese. Otherwise, you will be prompted for a file error. The specific reason was not found.
Finally put on
HTTP://115.COM/FOLDER/FBGVMMK7#VS2010 Platform Tool Set
Lazy directly under the
vcplatformtools.7z
This file, which contains VC6,VC7.1,VC9 files and registry files, has a brief description
Do not want to under such a large file of their own look at the situation.
Using Daffodil for VS to enable VS2010 's IDE to compile projects with compilers such as VC6 VC7.1 VC9