Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qtaccessiblewidgets", "C:/Qt/4.7.4/src/plugins/accessible/widgets\qtaccessiblewidgets.vcproj", "{3CF312FD-EB71-3865-9146-780DE2AFBC89}"
EndProject
Global
	GlobalSection(SolutionConfiguration) = preSolution
		ConfigName.0 = Debug|Win32
		ConfigName.1 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectDependencies) = postSolution
	EndGlobalSection
	GlobalSection(ProjectConfiguration) = postSolution
		{3CF312FD-EB71-3865-9146-780DE2AFBC89}.Debug|Win32.ActiveCfg = Debug|Win32
		{3CF312FD-EB71-3865-9146-780DE2AFBC89}.Debug|Win32.Build.0 = Debug|Win32
		{3CF312FD-EB71-3865-9146-780DE2AFBC89}.Release|Win32.ActiveCfg = Release|Win32
		{3CF312FD-EB71-3865-9146-780DE2AFBC89}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
	EndGlobalSection
	GlobalSection(ExtensibilityAddIns) = postSolution
	EndGlobalSection
EndGlobal