亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vcprojprocess.cpp

?? 將VC7.0和VC.NET的工程轉(zhuǎn)換到VC6.0的工程,內(nèi)有詳細(xì)的介紹做法(自己試驗后寫的)
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
	s = "MTL=midl.exe\r\n";
	m_outputFile.Write(s);
	s = "RSC=rc.exe\r\n\r\n";
	m_outputFile.Write(s);
}	


void vcprojprocess::writeDspConfigurations(IXMLDOMDocument *pDoc)
{
	if (!pDoc) return;

	// all configs
	long nConfigNb = m_arrConfigs.GetSize();
	if (nConfigNb==0) return;

	CString s;

	for (long i=0; i<nConfigNb; i++)
	{
		if (i==0)
			s = "!IF  \"$(CFG)\" == \"";
		else
			s = "!ELSEIF  \"$(CFG)\" == \"";

		vcprojconfiguration *pConfig = m_arrConfigs.GetAt(i);

		CString szConfigName = pConfig->getConfigName();

		s += TranslateConfigurationName( szConfigName ) + "\"\r\n\r\n";

		m_outputFile.Write(s);

		if ( m_szTargetType.Compare("0") && pConfig->hasVCConfigTool(CString(VCNMAKETOOL)) )
		{
			// that's a makefile project, no need of muscles here
			writeDspMakefile(i);
		}
		else
		{

			CString szUseMFC = "0";
			CString szTemp = pConfig->General.GetValue("UseOfMFC");
			if (szTemp.CompareNoCase("1"))
				szUseMFC = "5"; // MFC statically linked
			else if (szTemp.CompareNoCase("2"))
				szUseMFC = "6"; // MFC as shared DLL

			s = "# PROP BASE Use_MFC " + szUseMFC + "\r\n";
			m_outputFile.Write(s);
			s = "# PROP BASE Use_Debug_Libraries ";
			s += (szConfigName.FindNoCase(0,"debug")>-1) ? "1" : "0";
			s += "\r\n";
			m_outputFile.Write(s);
			s = "# PROP BASE Output_Dir \"";
			s += pConfig->General.GetValue("OutputDirectory");
			s += "\"\r\n";
			m_outputFile.Write(s);
			s = "# PROP BASE Intermediate_Dir \"";
			s += pConfig->General.GetValue("IntermediateDirectory");
			s += "\"\r\n";
			m_outputFile.Write(s);
			s = "# PROP BASE Target_Dir \"\"\r\n";
			m_outputFile.Write(s);

			s = "# PROP Use_MFC " + szUseMFC + "\r\n";
			m_outputFile.Write(s);
			s = "# PROP Use_Debug_Libraries ";
			s += (szConfigName.FindNoCase(0,"debug")>-1) ? "1" : "0";
			s += "\r\n";
			m_outputFile.Write(s);
			s = "# PROP Output_Dir \"";
			s += pConfig->General.GetValue("OutputDirectory");
			s += "\"\r\n";
			m_outputFile.Write(s);
			s = "# PROP Intermediate_Dir \"";
			s += pConfig->General.GetValue("IntermediateDirectory");
			s += "\"\r\n";
			m_outputFile.Write(s);
			s = "# PROP Target_Dir \"\"\r\n";
			m_outputFile.Write(s);

				
			// build compiling symbols line
			//
			CString szCPPSymbols = pConfig->serializeCPPSymbols();

			// build Linker symbol line
			//
			CString szLinkerSymbols = pConfig->serializeLinkerSymbols();

			// build Librarian symbol line
			//
			CString szLibSymbols = pConfig->serializeLibrarianSymbols();

			// build ResourceCompiler symbol line
			//
			CString szResourceSymbols = pConfig->serializeResourceSymbols();

			// build BrowseInformation symbol line
			//
			CString szBscMakeSymbols = pConfig->serializeBscMakeSymbols();

			// build Midl symbol line
			//
			CString szMidlSymbols = pConfig->serializeMidlSymbols();

			// build PreBuild cmd line
			//
			ArrayCString arrPreBuildCommands;
			pConfig->serializePreBuildCommands(arrPreBuildCommands);

			// build PreLink cmd line
			//
			ArrayCString arrPreLinkCommands;
			pConfig->serializePreLinkCommands(arrPreLinkCommands);

			// build PostBuild cmd line
			//
			ArrayCString arrPostBuildCommands;
			pConfig->serializePostBuildCommands(arrPostBuildCommands);

			// build CustomBuild cmd line
			//
			CString szCustomBuildDescription;
			ArrayCString arrCustomBuildCommands;
			ArrayCString arrCustomOutputFiles;
			ArrayCString arrAdditionalDeps;
			pConfig->serializeCustomBuildCommands(	szCustomBuildDescription, 
													arrCustomBuildCommands,
													arrCustomOutputFiles,
													arrAdditionalDeps);

			
			// compiler line (mandatory)
			s = "# ADD BASE CPP " + szCPPSymbols + "\r\n";
			m_outputFile.Write(s);
			s = "# ADD CPP " + szCPPSymbols + "\r\n";
			m_outputFile.Write(s);

			// midl line (optional)
			if (!szMidlSymbols.IsEmpty())
			{
				s = "# ADD BASE MTL " + szMidlSymbols + "\r\n";
				m_outputFile.Write(s);
				s = "# ADD MTL " + szMidlSymbols + "\r\n";
				m_outputFile.Write(s);
			}

			// resource compiler (optional)
			if (!szResourceSymbols.IsEmpty())
			{
				s = "# ADD BASE RSC " + szResourceSymbols + "\r\n";
				m_outputFile.Write(s);
				s = "# ADD RSC " + szResourceSymbols + "\r\n";
				m_outputFile.Write(s);
			}

			// browseinformation (mandatory)
			s = "BSC32=bscmake.exe\r\n";
			s += "# ADD BASE BSC32 " + szBscMakeSymbols + "\r\n";
			m_outputFile.Write(s);
			s = "# ADD BSC32 " + szBscMakeSymbols + "\r\n";
			m_outputFile.Write(s);

			// linker line (mandatory)
			BOOL bIsStaticLibrary = m_szTargetType.Compare("4");
			CString szLinkTool = bIsStaticLibrary ? "LIB32" : "LINK32";
			s = szLinkTool + "=link.exe";
			if (bIsStaticLibrary)
				s += " -lib";
			s += "\r\n";
			s += "# ADD BASE " + szLinkTool + " ";
			s += bIsStaticLibrary ? szLibSymbols : szLinkerSymbols;
			s += "\r\n";
			m_outputFile.Write(s);
			s = "# ADD " + szLinkTool + " ";
			s += bIsStaticLibrary ? szLibSymbols : szLinkerSymbols;
			s += "\r\n";
			m_outputFile.Write(s);

			// custom build (optional)
			if ( arrCustomBuildCommands.GetSize()>0 )
			{
				s = "# Begin Custom Build - " + szCustomBuildDescription + "\r\n";
				m_outputFile.Write(s);
				s = "SOURCE=\"$(InputPath)\"\r\n"; // don't know why VC++ 6.0 needs this
				m_outputFile.Write(s);
				s = "\r\nBuildCmds= \\\r\n";
				m_outputFile.Write(s);
				long j;
				for (j=0; j<arrCustomBuildCommands.GetSize(); j++)
				{
					s = "\t";
					s += arrCustomBuildCommands.GetAt(j);
					s += " \\\r\n";
					m_outputFile.Write(s);
				}
				s = "\r\n";
				m_outputFile.Write(s);

				for (j=0; j<arrCustomOutputFiles.GetSize(); j++)
				{
					s = "\r\n\"";
					s += arrCustomOutputFiles.GetAt(j);
					s += "\" : $(SOURCE) \"$(INTDIR)\" \"$(OUTDIR)\"\r\n";
					s += "   $(BuildCmds)\r\n";
					m_outputFile.Write(s);
				}

				s = "# End Custom Build\r\n";
				m_outputFile.Write(s);
			}

			// prelink or postbuild tool (both are optional)
			BOOL bHasPrelink = ( arrPreLinkCommands.GetSize()>0 );
			BOOL bHasPostBuild = ( arrPostBuildCommands.GetSize()>0 );
			if (bHasPrelink || bHasPostBuild)
			{
				s = "# Begin Special Build Tool\r\n";
				m_outputFile.Write(s);
				s = "SOURCE=\"$(InputPath)\"\r\n"; // don't know why VC++ 6.0 needs this
				m_outputFile.Write(s);

				if (bHasPrelink)
				{
					if (arrPreLinkCommands.GetAt(0).GetLength()>0)
					{
						s = "PreLink_Desc=" + arrPreLinkCommands.GetAt(0) + "\r\n";
						m_outputFile.Write(s);
					}
					s = "PreLink_Cmds=" + arrPreLinkCommands.GetAt(1) + "\r\n";
					m_outputFile.Write(s);
				} // end if (bHasPrelink)

				if (bHasPostBuild)
				{
					if (arrPostBuildCommands.GetAt(0).GetLength()>0)
					{
						s = "PostBuild_Desc=" + arrPostBuildCommands.GetAt(0) + "\r\n";
						m_outputFile.Write(s);
					}
					s = "PostBuild_Cmds=" + arrPostBuildCommands.GetAt(1) + "\r\n";
					m_outputFile.Write(s);
				} // end if (bHasPostBuild)

				s = "# End Special Build Tool\r\n";
				m_outputFile.Write(s);
			}

			s = "\r\n";
			m_outputFile.Write(s);

		}

	}
	
	s = "!ENDIF\r\n\r\n";
	m_outputFile.Write(s);
}


void vcprojprocess::getSourceControlInfo(CString &szSccName, CString &szSccPath)
{
	szSccName = m_szSccProjectName;
	szSccPath = m_szSccLocalPath;
}





void vcprojprocess::writeDspMakefile(long i)
{
	long nConfigNb = m_arrConfigurationNames.GetSize();
	if (nConfigNb==0 || i<0 || i>=nConfigNb) return;

	vcprojconfiguration *pConfig = m_arrConfigs.GetAt(i);
	if (!pConfig) return;

	CString szConfigName = pConfig->getConfigName();

	CString s = "# PROP BASE Use_MFC\r\n";
	m_outputFile.Write(s);
	s = "# PROP BASE Use_Debug_Libraries ";
	s += (szConfigName.FindNoCase(0,"debug")>-1) ? "1" : "0";
	s += "\r\n";
	m_outputFile.Write(s);
	s = "# PROP BASE Output_Dir \"";
	s += pConfig->General.GetValue("OutputDirectory");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP BASE Intermediate_Dir \"";
	s += pConfig->General.GetValue("IntermediateDirectory");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP BASE Cmd_Line \"";
	s += pConfig->VCNMakeTool.GetValue("BuildCommandLine");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP BASE Rebuild_Opt \"";
	s += pConfig->VCNMakeTool.GetValue("ReBuildCommandLine");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP BASE Target_File \"";
	s += pConfig->VCNMakeTool.GetValue("Output");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP BASE Bsc_Name \"" + m_szProjname + ".bsc" + "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP BASE Target_Dir \"\"\r\n";
	m_outputFile.Write(s);

	s = "# PROP Use_MFC\r\n";
	m_outputFile.Write(s);
	s = "# PROP Use_Debug_Libraries ";
	s += (szConfigName.FindNoCase(0,"debug")>-1) ? "1" : "0";
	s += "\r\n";
	m_outputFile.Write(s);
	s = "# PROP Output_Dir \"";
	s += pConfig->General.GetValue("OutputDirectory");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP Intermediate_Dir \"";
	s += pConfig->General.GetValue("IntermediateDirectory");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP Cmd_Line \"";
	s += pConfig->VCNMakeTool.GetValue("BuildCommandLine");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP Rebuild_Opt \"";
	s += pConfig->VCNMakeTool.GetValue("ReBuildCommandLine");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP Target_File \"";
	s += pConfig->VCNMakeTool.GetValue("Output");
	s += "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP Bsc_Name \"" + m_szProjname + ".bsc" + "\"\r\n";
	m_outputFile.Write(s);
	s = "# PROP Target_Dir \"\"\r\n\r\n";
	m_outputFile.Write(s);
}

void vcprojprocess::writeDspFiles(IXMLDOMDocument *pDoc)
{
	if (!pDoc) return;

	long nConfigNb = m_arrConfigurationNames.GetSize();
	if (nConfigNb==0) return;


	CString s = "# Begin Target\r\n\r\n";
	m_outputFile.Write(s);

	for (long i=0; i<nConfigNb; i++)
	{
		s = "# Name \"" + TranslateConfigurationName( m_arrConfigurationNames.GetAt(i) ) + "\"\r\n";
		m_outputFile.Write(s);
	}


	CComPtr<IXMLDOMNodeList> pFilesNodelist;
	pDoc->getElementsByTagName( _bstr_t(XMLNODE_FILES), &pFilesNodelist);
    if (pFilesNodelist)
	{

		long nb = 0;
		pFilesNodelist->get_length(&nb);

		if (nb!=1) return;
		
		CComPtr<IXMLDOMNode> pNode;
		pFilesNodelist->get_item(0,&pNode);
		if (pNode)
		{
			CComQIPtr<IXMLDOMElement> pFiles( pNode );
			if (pFiles)
			{
				writeDspGroup(pFiles); // recurse call
			}
		}

	} // end if (pFilesList)


}

void vcprojprocess::writeDspGroup(IXMLDOMElement *pGroupFilter)
{
	CString s;

	if (!pGroupFilter) return;

	// now go through all children

	CComPtr<IXMLDOMNodeList> pChildren;
	pGroupFilter->get_childNodes( &pChildren);	
	if (!pChildren) return;

	long nb = 0;
	pChildren->get_length(&nb);
	
	for (long i=0; i<nb; i++)
	{

		CComPtr<IXMLDOMNode> pNode;
		pChildren->get_item(i,&pNode);
		if (pNode)
		{
			CComQIPtr<IXMLDOMElement> pElem( pNode );

			CString szNodename;
			getNodeName(pElem, szNodename);

			// is it a file or a filter ?
			//
			if ( szNodename.CompareNoCase(XMLNODE_FILE) )
			{
				CString szFilename;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品系列在线观看| 成人少妇影院yyyy| 欧美激情综合在线| 欧美日韩三级一区| 粉嫩绯色av一区二区在线观看| 午夜久久电影网| 1区2区3区国产精品| 欧美精品一区二区久久久| 91国产免费看| 成a人片国产精品| 老司机免费视频一区二区三区| 樱花草国产18久久久久| 久久精品一二三| 欧美一区二区日韩一区二区| 91年精品国产| 成人精品国产福利| 激情六月婷婷综合| 奇米影视一区二区三区小说| 夜夜嗨av一区二区三区中文字幕| 国产精品丝袜在线| 国产午夜精品久久久久久免费视| 欧美一级在线观看| 欧美日韩高清一区二区三区| 91国模大尺度私拍在线视频| 91网站最新地址| 成人福利视频在线看| 色综合天天综合狠狠| 国产高清在线观看免费不卡| 久久国产精品72免费观看| 日韩在线卡一卡二| 亚洲国产美女搞黄色| 一区二区三区视频在线观看| 最新中文字幕一区二区三区| 国产精品免费久久久久| 国产亚洲精久久久久久| 久久久99精品久久| 久久久久国产免费免费| 精品国产91久久久久久久妲己| 日韩欧美成人激情| 欧美成人一区二区三区在线观看 | 日韩激情av在线| 日日夜夜免费精品视频| 午夜国产不卡在线观看视频| 亚洲国产成人av网| 人人精品人人爱| 美国毛片一区二区三区| 精品一区二区三区香蕉蜜桃| 国产麻豆一精品一av一免费 | 欧美va亚洲va香蕉在线| 精品久久久久久亚洲综合网| 久久久久久97三级| 国产精品每日更新| 一区二区三区高清在线| 亚洲一区在线视频观看| 日韩在线a电影| 精品一区二区三区的国产在线播放 | 国产精品免费视频网站| 亚洲天堂2016| 天天色天天操综合| 久久99精品一区二区三区三区| 国产在线不卡一区| 97精品国产露脸对白| 欧美日韩小视频| 欧美变态口味重另类| 久久久午夜精品| 日韩伦理免费电影| 亚洲午夜久久久久中文字幕久| 日本午夜精品视频在线观看| 狠狠色综合播放一区二区| 不卡电影一区二区三区| 欧美亚洲国产一区在线观看网站| 欧美一区二区三级| 国产精品毛片久久久久久久| 亚洲sss视频在线视频| 狠狠色伊人亚洲综合成人| jiyouzz国产精品久久| 欧美日韩精品综合在线| 久久久亚洲午夜电影| 亚洲精品一卡二卡| 麻豆国产精品官网| 91在线精品一区二区| 欧美精品aⅴ在线视频| 国产片一区二区| 亚洲成人黄色影院| 国产乱码精品一区二区三区五月婷| 91视频在线观看| 日韩精品一区二区三区视频| 亚洲欧洲日韩在线| 免费成人性网站| 99精品视频一区| 337p日本欧洲亚洲大胆色噜噜| 亚洲色图欧美在线| 国产又黄又大久久| 欧美女孩性生活视频| 国产精品国产三级国产普通话99| 青青草国产成人99久久| 91麻豆视频网站| 久久精品一区四区| 激情综合网av| 欧美手机在线视频| 国产精品久久久久婷婷| 精久久久久久久久久久| 欧美精品丝袜中出| 亚洲欧洲在线观看av| 国产精品99久久久久久宅男| 91精品国产综合久久精品app | 欧美国产禁国产网站cc| 蜜乳av一区二区三区| 欧美在线观看禁18| 亚洲欧洲在线观看av| 国产乱人伦精品一区二区在线观看| 欧美人成免费网站| 亚洲精选在线视频| aaa欧美大片| 久久久久久久久一| 寂寞少妇一区二区三区| 91精品婷婷国产综合久久竹菊| 亚洲精品写真福利| 99久久精品免费看| 国产精品另类一区| 国产精品白丝jk黑袜喷水| 精品播放一区二区| 极品美女销魂一区二区三区免费| 欧美日本韩国一区二区三区视频| 亚洲女与黑人做爰| 成人激情动漫在线观看| 中文字幕av一区二区三区免费看| 激情av综合网| 久久久久久久久久看片| 精品亚洲欧美一区| 欧美精品一区二区三区蜜桃视频| 久久黄色级2电影| 精品伦理精品一区| 国产原创一区二区| 国产人成一区二区三区影院| 国产在线不卡一卡二卡三卡四卡| 精品动漫一区二区三区在线观看| 麻豆一区二区三区| 精品国产乱码久久久久久牛牛| 精品一区二区三区免费播放| 26uuu色噜噜精品一区| 国产精品自拍一区| 国产精品区一区二区三| av在线一区二区三区| 亚洲视频小说图片| 欧美午夜精品久久久久久超碰 | 裸体在线国模精品偷拍| 日韩免费电影一区| 国内精品国产三级国产a久久| 久久精品夜夜夜夜久久| fc2成人免费人成在线观看播放| 亚洲欧美自拍偷拍| 欧亚洲嫩模精品一区三区| 亚洲成人免费在线观看| 日韩欧美一级二级三级| 国产成人精品综合在线观看| 中文字幕一区免费在线观看| 日本道精品一区二区三区| 亚洲第四色夜色| 欧美不卡一区二区三区| 成人午夜看片网址| 一个色综合网站| 日韩丝袜美女视频| 国产精品1区2区| 亚洲激情自拍视频| 欧美一区二区视频观看视频| 国产麻豆成人精品| 亚洲乱码中文字幕综合| 欧美一区二区三区性视频| 国产伦精一区二区三区| 玉足女爽爽91| 精品欧美黑人一区二区三区| 97久久超碰精品国产| 日产国产欧美视频一区精品| 国产女主播在线一区二区| 在线观看不卡视频| 国产一区二区三区免费观看| 亚洲精品一卡二卡| 久久新电视剧免费观看| 一本大道综合伊人精品热热 | 色综合网色综合| 久久福利资源站| 亚洲精品写真福利| 久久久精品欧美丰满| 在线中文字幕不卡| 国产精品资源在线| 亚洲mv大片欧洲mv大片精品| 久久精品免费在线观看| 欧美色综合久久| 国产99久久久久| 日韩高清在线观看| 中文字幕一区二区三区四区| 欧美xxxxxxxx| 欧美日韩一区二区三区高清| 国产999精品久久久久久绿帽| 日日骚欧美日韩| 亚洲人一二三区| 久久久久久电影| 日韩欧美的一区| 欧美日韩在线播放三区四区|