下面我们将VS2012添加一个新的平台支持,由于近来与哈斯hi3516。就选它吧!

1.1     复制平台文件

原来一直认为要让VS支持一个新的平台须要编写代码,某天在看MSBUILD文件夹的时候突然发现了一个奇妙的文件夹:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlnaHRzX2pveQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="688" height="227" alt="">

新平台的秘密就在这里!!

这里的hi3516原来是没有的。仅仅是为了加入对hi3516这个平台的支持而加上去的。我们将ARM文件夹复制一份,改名为hi3516。

然后将文件名称中的ARM改为hi3516,将hi3516文件夹下全部文件里的”ARM”字符串替换为”hi3516”(运行字符串操作),非常野蛮,非常暴力,但非常管用!

1.2     改动注冊表,加入新平台

接下来改动注冊表。导入以下的内容(从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还没有看到项目属性的定义。

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" />

我们熟悉的项目属性又回来了!

!!

Vs2012在Linux应用程序开发(3):加入新平台hi3516的更多相关文章

  1. Vs2012于Linux应用程序开发(2):图案

    1.1     代码提示功能 在vs中开发中,Visual Assist是一个很优秀的插件,我们仍然能够使用它进行代码的分析,但它仅仅能支持vcxprojproject,因而我们选择对vcxproj的 ...

  2. Vs2012于Linux应用程序开发(4):公共财产的定义

    在嵌入式开发流程.有些参数基本上不改变,比如编译主机IP,username,password等参数.我们用VS提供的属性管理器来保存这些參数. 打开属性管理器: watermark/2/text/aH ...

  3. linux应用程序开发-文件编程-系统调用方式

    在看韦东山视频linux驱动方面有一些吃力,究其原因,虽然接触过linux应用程序编程,但是没有深入去理解,相关函数用法不清楚,正好看到国嵌视频对这一方面讲的比较透彻, 所以把学习过程记录下来,也作为 ...

  4. 嵌入式Linux应用程序开发详解------(创建守护进程)

    嵌入式Linux应用程序开发详解 华清远见 本文只是阅读文摘. 创建一个守护进程的步骤: 1.创建一个子进程,然后退出父进程: 2.在子进程中使用创建新会话---setsid(): 3.改变当前工作目 ...

  5. 《嵌入式linux应用程序开发标准教程》笔记——6.文件IO编程

    前段时间看APUE,确实比较详细,不过过于详细了,当成工具书倒是比较合适,还是读一读这种培训机构的书籍,进度会比较快,遇到问题时再回去翻翻APUE,这样的效率可能更高一些. <嵌入式linux应 ...

  6. Linux入门-程序开发

    Linux程序开发 linux程序总体上来说是分两部分的: 1. 底层驱动程序开发: 2.应用层应用程序开发: 驱动程序 一般情况下驱动是跟内核与硬件有关系的,编程语言是C语言,需要懂一些硬件的知识, ...

  7. linux后台程序开发常用工具

    linux开发工具: 1.编辑工具:1)sourceInsight2)Notepad++3)UltraEdit4)Altova XMLSpy 2.linux服务器访问工具:1)FileZilla2)X ...

  8. 《嵌入式linux应用程序开发标准教程》笔记——8.进程间通信

    , 8.1 概述 linux里使用较多的进程间通信方式: 管道,pipe和fifo,管道pipe没有实体文件,只能用于具有亲缘关系的进程间通信:有名管道 named pipe,也叫fifo,还允许无亲 ...

  9. 《嵌入式linux应用程序开发标准教程》笔记——9.多线程编程

    线程是轻量级进程,创建线程的开销要比进程小得多,在大型程序中应用广泛. 9.1 线程概述 进程包含自己的代码.数据.堆栈.资源等等,创建和切换的开销比较大: 线程是轻量级的进程,调度的最小单元,同一个 ...

随机推荐

  1. Esper学习之四:Context

    上周末打球实在太累了,就没来得及更新,只是列了个提纲做做准备,发现Context还是有很多内容的.结果也花了不少时间才写完,所以这篇需要各位慢慢消化,并且最好多写几个例子加深理解. 如果有不了解Esp ...

  2. 14.4.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering

    14.4.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering 当INSERT,UPDATE,和删除操作在表上操作, 索引列的 ...

  3. EasyUI初体验--右键弹框

    在C/S中可能非常easy实现右键弹框,但在B/S中直到今天我才搞定,小小得瑟一下.只一个html页面,导入相关的Easy-UI类库就能搞定,Easy-UI类库下载地址 <!DOCTYPE ht ...

  4. 推荐一个IT人必备的东西【用过的都懂,让我们的环境越来越好吧】

    有个东西叫IT人手册,不知道各位有用过吗?不过很可惜以前那个关掉了,那个网站说出了我们IT人太多的新声以及一些黑心公司,不过被迫压力下关闭了 我不是托,我只是分享 我觉得这种东西应该存在下去~!!!至 ...

  5. groovy : 正則表達式

    groovy 正則表達式 企图模仿Perl 的语法,结果是我试用后.发现没法提取匹配的字符串. 还是直接引用 java.util.regex  负责对字符序列进行正則表達式匹配 先转载水木清华上的样例 ...

  6. JavaScript 中的事件对象(读书笔记思维导图)

    在触发 DOM 上的某个事件时,会产生一个事件对象 event,这个对象中包含着所有与事件有关的信息.包括导致事件的元素.事件的类型以及其他与特定事件相关的信息.例如,鼠标操作导致的事件对象中,会包含 ...

  7. 【机器学习实验】学习Python来分类现实世界的数据

    引入 一个机器能够依据照片来辨别鲜花的品种吗?在机器学习角度,这事实上是一个分类问题.即机器依据不同品种鲜花的数据进行学习.使其能够对未标记的測试图片数据进行分类. 这一小节.我们还是从scikit- ...

  8. Python 实现的下载op海贼王网的图片(网络爬虫)

    没得事就爬一下我喜欢的海贼王上的图片 须要在d盘下建立一个imgcache目录 # -*- coding: utf-8 -*- import urllib import urllib2 import ...

  9. POJ 2365 Rope(水题)

    [题意简述]:给出我们钉子个数与半径,让我们求出缠绕在钉子上的绳子有多长. [分析]:从题目中我们能够看出,绳子长度的和等于每两个钉子的距离的和加上接触在钉子上的绳子的长度,不难发现这部分长度事实上就 ...

  10. CRL 版本2.1.0.0下载

    此次更新完善了部份功能,详情见UpdateLog,重新整理了开发文档,更美档,更详细 百度盘下载 下载地址: 百度盘下载