下面我们将VS2012添加一个新的平台支持,由于近来与哈斯hi3516。就选它吧!
1.1 复制平台文件
原来一直认为要让VS支持一个新的平台须要编写代码,某天在看MSBUILD文件夹的时候突然发现了一个奇妙的文件夹:
新平台的秘密就在这里!!
这里的hi3516原来是没有的。仅仅是为了加入对hi3516这个平台的支持而加上去的。我们将ARM文件夹复制一份,改名为hi3516。
然后将文件名称中的ARM改为hi3516,将hi3516文件夹下全部文件里的”ARM”字符串替换为”hi3516”(运行字符串操作),非常野蛮,非常暴力,但非常管用!
1.2 改动注冊表,加入新平台
接下来改动注冊表。导入以下的内容(从ARM表项复制得来的结果):
[HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio11.0_ConfigVCLibrariesExtendedhi3516]
"Version"="50727.01"
"Install"=dword:00000001
"InstallerType"="MSI"
"SP"=dword:00000000
"SPIndex"=dword:00000000
"SPName"="RTM"
"Bld"="50727"
"Rbld"="00001"
"PaddedVersion"="5072700001"
[HKEY_USERSS-1-5-21-3453089637-102051711-1108187228-1000SoftwareMicrosoftVisualStudio11.0Exp_ConfigVCLibrariesExtendedhi3516]
"Version"="50727.01"
"Install"=dword:00000001
"InstallerType"="MSI"
"SP"=dword:00000000
"SPIndex"=dword:00000000
"SPName"="RTM"
"Bld"="50727"
"Rbld"="00001"
"PaddedVersion"="5072700001"
[HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftVisualStudio11.0VCLibrariesExtendedhi3516]
"Version"="50727.01"
"Install"=dword:00000001
"InstallerType"="MSI"
"SP"=dword:00000000
"SPIndex"=dword:00000000
"SPName"="RTM"
"Bld"="50727"
"Rbld"="00001"
"PaddedVersion"="5072700001"
[HKEY_USERS.DEFAULTSoftwareMicrosoftVisualStudio11.0_ConfigVCLibrariesExtendedhi3516]
"Version"="50727.01"
"Install"=dword:00000001
"InstallerType"="MSI"
"SP"=dword:00000000
"SPIndex"=dword:00000000
"SPName"="RTM"
"Bld"="50727"
"Rbld"="00001"
"PaddedVersion"="5072700001"
在做完上面两件事情后就能够在IDE项目中加入新的平台了:
只是非常不幸的是我们如今看项目属性是这个样子的:
这是由于MSBUILD还没有看到项目属性的定义。
1.3 导入project属性定义
打开vcxproj项目文件。查看其导入的属性:
<Import Project="$(VCTargetsPath)Microsoft.Cpp.Default.props" />
<Import Condition="$(Platform)=='Win32'" Project="$(VCTargetsPath)Microsoft.Cpp.targets" />
我们须要加上HI3516的导入属性:
<Import Condition="$(Platform)=='hi3516'" Project="$(VCTargetsPath)Microsoft.Cpp.targets" />
我们熟悉的项目属性又回来了!
!
!!