下面我们将为VS2012添加一个新的平台支持,因为最近在用海思的hi3516,就选它吧!
原来一直觉得要让VS支持一个新的平台需要编写代码,某天在看MSBUILD目录的时候突然发现了一个神奇的目录:
新平台的秘密就在这里!!
这里的hi3516原来是没有的,只是为了添加对hi3516这个平台的支持而加上去的。我们将ARM目录复制一份,改名为hi3516。
然后将文件名中的ARM改为hi3516,将hi3516目录下所有文件中的”ARM”字符串替换为”hi3516”(执行字符串操作),很野蛮,很暴力,但很管用!
接下来修改注册表,导入下面的内容(从ARM表项复制得来的结果):
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\VC\Libraries\Extended\hi3516]
"Version"="50727.01"
"Install"=dword:00000001
"InstallerType"="MSI"
"SP"=dword:00000000
"SPIndex"=dword:00000000
"SPName"="RTM"
"Bld"="50727"
"Rbld"="00001"
"PaddedVersion"="5072700001"
[HKEY_USERS\S-1-5-21-3453089637-102051711-1108187228-1000\Software\Microsoft\VisualStudio\11.0Exp_Config\VC\Libraries\Extended\hi3516]
"Version"="50727.01"
"Install"=dword:00000001
"InstallerType"="MSI"
"SP"=dword:00000000
"SPIndex"=dword:00000000
"SPName"="RTM"
"Bld"="50727"
"Rbld"="00001"
"PaddedVersion"="5072700001"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\11.0\VC\Libraries\Extended\hi3516]
"Version"="50727.01"
"Install"=dword:00000001
"InstallerType"="MSI"
"SP"=dword:00000000
"SPIndex"=dword:00000000
"SPName"="RTM"
"Bld"="50727"
"Rbld"="00001"
"PaddedVersion"="5072700001"
[HKEY_USERS\.DEFAULT\Software\Microsoft\VisualStudio\11.0_Config\VC\Libraries\Extended\hi3516]
"Version"="50727.01"
"Install"=dword:00000001
"InstallerType"="MSI"
"SP"=dword:00000000
"SPIndex"=dword:00000000
"SPName"="RTM"
"Bld"="50727"
"Rbld"="00001"
"PaddedVersion"="5072700001"
在做完上面两件事情后就可以在IDE项目中添加新的平台了:
不过很不幸的是我们现在看项目属性是这个样子的:
这是因为MSBUILD还没有看到项目属性的定义。
打开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" />
我们熟悉的项目属性又回来了!!!!
Vs2012在Linux开发中的应用(3):添加新平台hi3516
原文地址:http://blog.csdn.net/lights_joy/article/details/41223041