本人已经安装了VS2010,但是同事给的项目是用VC2008写的,用到几个lib文件,路径也都正确,但就是无法正确解析,所以我怀疑是lib库生成的环境问题。所以考虑装个VC2008。但是我又不敢直接安装VS2008,怕破坏VS2010的环境,所以在网上找了个VC2008绿色精简版的包,下载地址:http://d1.amobbs.com/bbs_upload782111/files_50/ourdev_710509KTJTYR.rar,下载后根据说明进行安装,修改了必要的路径后,一切都很顺利。
但是编译程序出现标题中那种错误,真是莫名其妙。后来写了个Hello world程序,发现还是一样的问题。找来找去,摸索了很久,最终发现几个环境变量有问题,导致无法正确找到编译器及include目录等。
参考了下vc2010的安装目录,发现下载的这个包解压后的目录结构存在问题,难怪安装后不行。
调整目录结构,将以下目录移动到VC目录下:atlmfc、bin、crt、include、lib、redist,调整后的目录结构为:
D:\MICROSOFT\VC2008
├─Common7
│ ├─IDE
│ │ ├─2052
│ │ ├─ExceptionAssistantContent
│ │ │ └─2052
│ │ ├─Extensibility Projects
│ │ │ ├─CSharp
│ │ │ │ └─2052
│ │ │ ├─csharp-shared
│ │ │ ├─MCpp
│ │ │ │ └─2052
│ │ │ ├─VBasic
│ │ │ │ └─2052
│ │ │ ├─vbasic-shared
│ │ │ ├─VCATL
│ │ │ │ └─2052
│ │ │ └─vcatl-shared
│ │ ├─ItemTemplatesCache
│ │ ├─MacroProjectItems
│ │ ├─MacroProjects
│ │ ├─NewFileItems
│ │ ├─NewScriptItems
│ │ ├─PrivateAssemblies
│ │ │ ├─1033
│ │ │ ├─2052
│ │ │ └─zh-CHS
│ │ ├─Profiles
│ │ ├─ProjectTemplatesCache
│ │ ├─PublicAssemblies
│ │ │ ├─zh-CHS
│ │ │ └─zh-CN
│ │ ├─SolutionTemplates
│ │ ├─Themes
│ │ ├─VS SCC
│ │ │ └─2052
│ │ ├─Xml
│ │ │ ├─2052
│ │ │ └─zh-CHS
│ │ ├─zh-CHS
│ │ └─zh-CN
│ ├─Packages
│ │ ├─1033
│ │ │ └─schemas
│ │ ├─2052
│ │ │ └─schemas
│ │ │ └─CSS
│ │ ├─Debugger
│ │ │ ├─2052
│ │ │ ├─Visualizers
│ │ │ │ ├─Original
│ │ │ │ └─zh-CHS
│ │ │ └─x86
│ │ └─schemas
│ │ ├─html
│ │ └─xml
│ │ └─2052
│ └─Tools
│ ├─2052
│ ├─Deployment
│ │ ├─2052
│ │ ├─VsdDialogs
│ │ │ ├─0
│ │ │ ├─1028
│ │ │ ├─1031
│ │ │ ├─1033
│ │ │ ├─1036
│ │ │ ├─1040
│ │ │ ├─1041
│ │ │ ├─1042
│ │ │ ├─1046
│ │ │ ├─1049
│ │ │ ├─2052
│ │ │ └─3082
│ │ ├─VsdProjects
│ │ ├─VsdSchema
│ │ └─Vspkgs
│ │ └─2052
│ ├─Templates
│ │ ├─Database Project Items
│ │ └─Database Projects
│ └─VDT
│ └─2052
├─PlatformSDK
│ ├─Include
│ │ └─gl
│ └─Lib
├─ReportViewer
│ ├─zh-CHS
│ └─zh-CN
├─SDK
│ └─V6.0A
│ ├─bin
│ │ ├─en-us
│ │ ├─msitools
│ │ │ ├─Schemas
│ │ │ │ └─MSI
│ │ │ │ ├─100
│ │ │ │ ├─110
│ │ │ │ ├─120
│ │ │ │ └─intl
│ │ │ └─Templates
│ │ │ └─MSI
│ │ ├─vsstools
│ │ └─zh-CHS
│ └─Bootstrapper
│ ├─Engine
│ │ ├─de
│ │ ├─en
│ │ ├─es
│ │ ├─fr
│ │ ├─it
│ │ ├─ja
│ │ ├─ko
│ │ ├─pt-BR
│ │ ├─ru
│ │ ├─zh-CHS
│ │ └─zh-CHT
│ ├─Packages
│ │ ├─DotNetFX
│ │ │ └─zh-CHS
│ │ ├─DotNetFX30
│ │ │ └─zh-CHS
│ │ ├─DotNetFX35
│ │ │ └─zh-CHS
│ │ ├─ReportViewer
│ │ │ └─zh-CHS
│ │ ├─SqlExpress
│ │ │ └─zh-CHS
│ │ ├─VBPowerPacks
│ │ │ └─zh-CHS
│ │ ├─vcredist_x64
│ │ │ └─zh-CHS
│ │ ├─vcredist_x86
│ │ │ └─zh-CHS
│ │ ├─VSTOR30
│ │ │ └─zh-chs
│ │ └─WindowsInstaller3_1
│ │ └─zh-CHS
│ └─Schemas
├─System
│ ├─assembly
│ ├─Common Files
│ │ ├─CAPICOM
│ │ ├─Designer
│ │ ├─Merge Modules
│ │ ├─MSDesigners8
│ │ │ └─Resources
│ │ │ └─2052
│ │ ├─MSEnv
│ │ │ ├─2052
│ │ │ ├─PublicAssemblies
│ │ │ │ └─zh-CN
│ │ │ └─zh-CHS
│ │ ├─MSI Tools
│ │ ├─SQL Debugging
│ │ ├─Visual Database Tools
│ │ ├─VS7Debug
│ │ │ └─2052
│ │ ├─VSA
│ │ │ └─9.0
│ │ │ ├─Common
│ │ │ │ ├─2052
│ │ │ │ └─VSAProjectItems
│ │ │ │ └─Project Items
│ │ │ └─VsaEnv
│ │ │ ├─2052
│ │ │ ├─Packages
│ │ │ │ ├─2052
│ │ │ │ └─Debugger
│ │ │ │ └─2052
│ │ │ ├─SolutionTemplates
│ │ │ └─zh-CHS
│ │ ├─VsDeploy
│ │ └─WMI
│ ├─symbols
│ │ └─dll
│ └─System32
│ └─2052
├─VC
│ ├─atlmfc
│ │ ├─include
│ │ │ ├─l.chs
│ │ │ ├─l.cht
│ │ │ └─res
│ │ ├─lib
│ │ └─src
│ │ ├─atl
│ │ │ └─atls
│ │ │ └─INTEL
│ │ ├─mfc
│ │ │ ├─intel
│ │ │ ├─l.chs
│ │ │ └─l.cht
│ │ └─mfcm
│ │ ├─INTEL
│ │ └─interfaces
│ ├─bin
│ │ ├─2052
│ │ └─zh-CHS
│ ├─crt
│ │ └─src
│ │ ├─cliext
│ │ ├─intel
│ │ │ ├─dll_lib
│ │ │ │ ├─clr_obj
│ │ │ │ └─pure_obj
│ │ │ ├─mt_lib
│ │ │ ├─xdll_lib
│ │ │ │ ├─clr_obj
│ │ │ │ └─pure_obj
│ │ │ └─xmt_lib
│ │ ├─msclr
│ │ │ └─com
│ │ └─sys
│ ├─include
│ │ ├─cliext
│ │ ├─CodeAnalysis
│ │ ├─msclr
│ │ │ └─com
│ │ └─sys
│ ├─lib
│ ├─redist
│ │ ├─Debug_NonRedist
│ │ │ └─x86
│ │ │ ├─Microsoft.VC90.DebugCRT
│ │ │ ├─Microsoft.VC90.DebugMFC
│ │ │ └─Microsoft.VC90.DebugOpenMP
│ │ └─x86
│ │ ├─Microsoft.VC90.ATL
│ │ ├─Microsoft.VC90.CRT
│ │ ├─Microsoft.VC90.MFC
│ │ ├─Microsoft.VC90.MFCLOC
│ │ └─Microsoft.VC90.OPENMP
│ ├─VCAddClass
│ │ ├─ATL
│ │ │ └─WMI
│ │ ├─Generic
│ │ ├─MFC
│ │ └─VCNet
│ ├─VCContextItems
│ ├─VCNewItems
│ ├─VcPackages
│ │ └─2052
│ ├─VCProjectDefaults
│ ├─VcProjectitems
│ │ ├─Code
│ │ ├─Data
│ │ ├─PropertySheets
│ │ ├─Resource
│ │ ├─UI
│ │ ├─Utility
│ │ └─Web
│ ├─VcProjects
│ │ ├─ATL
│ │ ├─General
│ │ ├─MFC
│ │ ├─vcNET
│ │ └─Win32
│ ├─VCResourceTemplates
│ │ └─2052
│ └─VCWizards
│ ├─1033
│ │ └─Images
│ ├─2052
│ ├─AppWiz
│ │ ├─.NET
│ │ │ ├─ClassLibrary
│ │ │ │ ├─Scripts
│ │ │ │ │ └─2052
│ │ │ │ └─Templates
│ │ │ │ └─2052
│ │ │ ├─Console
│ │ │ │ ├─Scripts
│ │ │ │ │ └─2052
│ │ │ │ └─Templates
│ │ │ │ └─2052
│ │ │ ├─ControlLibrary
│ │ │ │ ├─scripts
│ │ │ │ │ └─2052
│ │ │ │ └─templates
│ │ │ │ └─2052
│ │ │ ├─EmptyProject
│ │ │ │ └─Scripts
│ │ │ │ └─2052
│ │ │ ├─WinForm
│ │ │ │ ├─scripts
│ │ │ │ │ └─2052
│ │ │ │ └─templates
│ │ │ │ └─2052
│ │ │ └─WinService
│ │ │ ├─scripts
│ │ │ │ └─2052
│ │ │ └─templates
│ │ │ └─2052
│ │ ├─ATL
│ │ │ └─ATLProject
│ │ │ ├─html
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─scripts
│ │ │ │ └─2052
│ │ │ └─templates
│ │ │ └─2052
│ │ ├─Generic
│ │ │ ├─Application
│ │ │ │ ├─html
│ │ │ │ │ └─2052
│ │ │ │ ├─images
│ │ │ │ ├─scripts
│ │ │ │ │ └─2052
│ │ │ │ └─templates
│ │ │ │ └─2052
│ │ │ ├─CustomWizard
│ │ │ │ ├─HTML
│ │ │ │ │ └─2052
│ │ │ │ ├─Images
│ │ │ │ ├─Scripts
│ │ │ │ │ └─2052
│ │ │ │ └─Templates
│ │ │ │ └─2052
│ │ │ └─MakefileProject
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ └─MFC
│ │ ├─Application
│ │ │ ├─html
│ │ │ │ └─2052
│ │ │ ├─images
│ │ │ ├─scripts
│ │ │ │ └─2052
│ │ │ └─templates
│ │ │ ├─1028
│ │ │ ├─1031
│ │ │ ├─1033
│ │ │ ├─1036
│ │ │ ├─1040
│ │ │ ├─1041
│ │ │ ├─1042
│ │ │ ├─2052
│ │ │ └─3082
│ │ ├─Control
│ │ │ ├─html
│ │ │ │ └─2052
│ │ │ ├─images
│ │ │ ├─scripts
│ │ │ │ └─2052
│ │ │ └─templates
│ │ │ └─2052
│ │ └─Library
│ │ ├─html
│ │ │ └─2052
│ │ ├─Images
│ │ ├─scripts
│ │ │ └─2052
│ │ └─templates
│ │ └─2052
│ └─CodeWiz
│ ├─.NET
│ │ ├─Component
│ │ │ ├─scripts
│ │ │ │ └─2052
│ │ │ └─templates
│ │ │ └─2052
│ │ ├─Installer
│ │ │ ├─scripts
│ │ │ │ └─2052
│ │ │ └─templates
│ │ │ └─2052
│ │ ├─UserControl
│ │ │ ├─scripts
│ │ │ │ └─2052
│ │ │ └─templates
│ │ │ └─2052
│ │ ├─WinForm
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ └─XMLSchema
│ │ ├─Scripts
│ │ │ └─2052
│ │ └─Templates
│ │ └─2052
│ ├─ATL
│ │ ├─AddToMFC
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─ASP
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─Consumer
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─Control
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─DLG
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─Event
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─ImplementInterface
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─Instance
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─Method
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ └─Scripts
│ │ │ └─2052
│ │ ├─MTS
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─PPG
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─Property
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ └─Scripts
│ │ │ └─2052
│ │ ├─Provider
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─Simple
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ └─SRFFile
│ │ ├─Scripts
│ │ │ └─2052
│ │ └─Templates
│ │ └─2052
│ ├─Generic
│ │ ├─Class
│ │ │ ├─HTML
│ │ │ │ └─2052
│ │ │ ├─Images
│ │ │ └─Scripts
│ │ │ └─2052
│ │ ├─DEFFile
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─PropertySheet
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ ├─RCFile
│ │ │ ├─Scripts
│ │ │ │ └─2052
│ │ │ └─Templates
│ │ │ └─2052
│ │ └─ResourceScript
│ │ ├─scripts
│ │ │ └─2052
│ │ └─Templates
│ │ └─2052
│ └─MFC
│ ├─AxControl
│ │ ├─HTML
│ │ │ └─2052
│ │ ├─Images
│ │ ├─Scripts
│ │ │ └─2052
│ │ └─Templates
│ │ └─2052
│ ├─CommandHandler
│ │ ├─HTML
│ │ │ └─2052
│ │ ├─Images
│ │ └─Scripts
│ │ └─2052
│ ├─Consumer
│ │ ├─HTML
│ │ │ └─2052
│ │ ├─Images
│ │ ├─Scripts
│ │ │ └─2052
│ │ └─Templates
│ │ └─2052
│ ├─Event
│ │ ├─HTML
│ │ │ └─2052
│ │ ├─Images
│ │ └─Scripts
│ │ └─2052
│ ├─Function
│ │ ├─HTML
│ │ │ └─2052
│ │ ├─Images
│ │ └─Scripts
│ │ └─2052
│ ├─Simple
│ │ ├─HTML
│ │ │ └─2052
│ │ ├─Images
│ │ ├─scripts
│ │ │ └─2052
│ │ └─Templates
│ │ └─2052
│ ├─Typelib
│ │ ├─HTML
│ │ │ └─2052
│ │ ├─Images
│ │ ├─Scripts
│ │ │ └─2052
│ │ └─Templates
│ │ └─2052
│ └─Variable
│ ├─HTML
│ │ └─2052
│ ├─Images
│ ├─Scripts
│ │ └─2052
│ └─Templates
│ └─2052
└─Xml
├─2052
│ └─Snippets
│ ├─xsd
│ │ ├─Attributes
│ │ ├─ComplexTypes
│ │ ├─Elements
│ │ ├─Extensions
│ │ ├─Misc
│ │ └─SimpleTypes
│ └─xslt
│ ├─html
│ └─xslTags
└─Schemas
└─2052
└─MSBuild
经过以上调整后,再安装VC2008,编译Hello world成功。后来又建立了一个基于对话框的MFC程序,又出了问题。。。。。。
总之一句话,只要好好设置各个include, lib等目录,相信一定可以解决问题的!我就是那样解决的!