Vs2012在Linux应用程序开发(3):加入新平台hi3516
下面我们将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的更多相关文章
- Vs2012于Linux应用程序开发(2):图案
1.1 代码提示功能 在vs中开发中,Visual Assist是一个很优秀的插件,我们仍然能够使用它进行代码的分析,但它仅仅能支持vcxprojproject,因而我们选择对vcxproj的 ...
- Vs2012于Linux应用程序开发(4):公共财产的定义
在嵌入式开发流程.有些参数基本上不改变,比如编译主机IP,username,password等参数.我们用VS提供的属性管理器来保存这些參数. 打开属性管理器: watermark/2/text/aH ...
- linux应用程序开发-文件编程-系统调用方式
在看韦东山视频linux驱动方面有一些吃力,究其原因,虽然接触过linux应用程序编程,但是没有深入去理解,相关函数用法不清楚,正好看到国嵌视频对这一方面讲的比较透彻, 所以把学习过程记录下来,也作为 ...
- 嵌入式Linux应用程序开发详解------(创建守护进程)
嵌入式Linux应用程序开发详解 华清远见 本文只是阅读文摘. 创建一个守护进程的步骤: 1.创建一个子进程,然后退出父进程: 2.在子进程中使用创建新会话---setsid(): 3.改变当前工作目 ...
- 《嵌入式linux应用程序开发标准教程》笔记——6.文件IO编程
前段时间看APUE,确实比较详细,不过过于详细了,当成工具书倒是比较合适,还是读一读这种培训机构的书籍,进度会比较快,遇到问题时再回去翻翻APUE,这样的效率可能更高一些. <嵌入式linux应 ...
- Linux入门-程序开发
Linux程序开发 linux程序总体上来说是分两部分的: 1. 底层驱动程序开发: 2.应用层应用程序开发: 驱动程序 一般情况下驱动是跟内核与硬件有关系的,编程语言是C语言,需要懂一些硬件的知识, ...
- linux后台程序开发常用工具
linux开发工具: 1.编辑工具:1)sourceInsight2)Notepad++3)UltraEdit4)Altova XMLSpy 2.linux服务器访问工具:1)FileZilla2)X ...
- 《嵌入式linux应用程序开发标准教程》笔记——8.进程间通信
, 8.1 概述 linux里使用较多的进程间通信方式: 管道,pipe和fifo,管道pipe没有实体文件,只能用于具有亲缘关系的进程间通信:有名管道 named pipe,也叫fifo,还允许无亲 ...
- 《嵌入式linux应用程序开发标准教程》笔记——9.多线程编程
线程是轻量级进程,创建线程的开销要比进程小得多,在大型程序中应用广泛. 9.1 线程概述 进程包含自己的代码.数据.堆栈.资源等等,创建和切换的开销比较大: 线程是轻量级的进程,调度的最小单元,同一个 ...
随机推荐
- Linux统计文件/目录数量ls -l | grep "^-" | wc -l匹配开头和结尾
Linux统计文件数量 ls -l | grep "^-" | wc -l “^-” 一般文件 “^d” 目录文件 shell/vim中^表示开头 cat repatterns ...
- hdu 4706 Children's Day 2013年ICPC热身赛A题 模拟
题意:按字母顺序排列成n型,简单的模拟题. 当字母排到z时从a开始重新排起. 代码: /* * Author: illuz <iilluzen[at]gmail.com> * Blog: ...
- ThinkPHP运算符 与 SQL运算符 对比表
ThinkPHP运算符 与 SQL运算符 对比表 TP运算符 SQL运算符 样例 实际查询条件 eq = $map['id'] = array('eq',100); 等效于:$map['id'] = ...
- Swift - 使用UIDatePicker实现倒计时功能
如果使用UIDatePicker时将模式设置为CountDownTimer,即可让该控件作为倒计时器来使用.效果图如下: 下面是代码示例: 1 2 3 4 5 6 7 8 9 10 11 12 ...
- Ogre嵌入MFC傻瓜全然教程(三)
经过前两两篇博文的解说.我们已经完毕了渲染工作,但仅仅是渲染而没有交互性,本篇博文我们就来加上事件的处理方法. 首先我们须要为项目加入一个帧监听类:CMyFrameListener,为了直观,在这直接 ...
- ISO/OSI网络体系结构和TCP/IP协议模型
1. ISO/OSI的参考模型共有7层,由低层至高层分别为:物理层.数据链路层.网络层.传输层.会话层.表示层. 应用层.各层功能分别为: (1)物理层 提供建立.维护和拆除 ...
- linux route命令的使用详解
route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...
- Note:This element neither has attached source nor attached Javadoc
在用Eclipse编写程序时,发现把鼠标放到类名上时出现标题的提示 解决方法: 右击项目,选择 properties –> Java Build Path –> Libraries,如图 ...
- JavaScript 中的事件流和事件处理程序(读书笔记思维导图)
JavaScript 程序采用了异步事件驱动编程模型.在这种程序设计风格下,当文档.浏览器.元素或与之相关的对象发生某些有趣的事情时,Web 浏览器就会产生事件(event). JavaScript ...
- OCP读书笔记(14) - 管理数据库性能
搜集统计信息 1. dbms_stats gather_schema_stats 1)option:有四个选项: a.gather empty:只分析目前还没有搜集过统计信息的表 SQL> co ...