为Source insight加入自已编写make代理编译软件DIY超级IDE开发平台

转载 2012年11月02日 00:22:47

使用MakeAgent + Source insight搭建跨系统IDE开发平台

     Source insight是一个功能很强大的源码浏览,编辑软件。相信很多研究过linux内核源码的人都选择用Source insight。甚至很多从事嵌入式开发的人员都选择在source insight中作源码开发,然后再回到linux中编译,链接。但老是在Windows和虚拟机的linux中切换,还是略显不便,更重要的是编译出错时,不能像其它Windows下的IDE开发环境那样直接定位出错的地方。

   相信很多开发人员都会选择搭建这样的开发平台:windows + VMware + linux + samba服务+ telnet服务+ source insight:

1、首先在windows下安装VMware+linux->     


  

2、在linux中运行samba和telnet服务,并共享出linux下的开发目录-> 


      

3、通过windows下的telnet登陆到linux中->


4、在WINDOWS下操作网络硬盘,用source insight在网络硬盘上创建工程(工程文件不放在windows本地目录,而放在源码目录的网络硬盘上是为开发方便) 


5、用source insight作为IDE开发平台。    



    虽然搭建了以上平台后,工作方便了一些,特别对于驱动开发者。但每次开发都需用telnet到linux,并在Windows和虚拟机的linux中切换,还是略显不便,更重要的是编译出错时,不能像其它Windows下的IDE开发环境那样直接定位出错的地方。

下面的描述均假设你已搭建了上面的环境,或你会搭建上面的环境为前提,若你还不会搭建,请自行google或baidu一下,此处不作讲解。

    为了搭建像类似VC那样的IDE平台,使编译,错误定位均在source insight中进行,而无需事先telnet或登陆到linux中。本人刚好利用最近的休息时间,为source insight编写了一个小软件,专门为linux的make命令做网络代理(即利用source insight的custom commands功能调用本软件,本软件将通过网络与运行于linux下的另一服务进程通信完成make的所有命令,并将linux下的make结果发送回本软件,并显示,最后由source insight捕获并分析结果)

       软件安装:1、下载软件包后解压后共有三个文件夹,其中“Windows代理端-安装版(.net VC++)”文件夹为.net VC++编写的WINDOWS代理端,运行里面的setup.exe即可安装,但由于使用.net环境,在没有安装.net 3.5的机子上安装向导将自动引导用户下载安装.net 3.5然后再自动安装MakeAgent,下载过程将是非常漫长(.net 3.5大约有250MB)。所以建议大家使用另一个版本的文件(除非你确认你的机器上已经安装了.net 3.5)——“Windows代理端-绿色版-(VB6.0 + VC++)”,它是临时为解决部署.net 3.5困难而使用VB重写的一个免安装绿色版本,功能和外观同.net VC++写的那个完全相同。


   “Windows代理端-绿色版-(VB6.0 + VC++)”免安装,只需将文件夹内的所有文件复制到你想放置的位置即可。其中的client.exe文件为控制台文件,source insight即调用client.exe进行传递编译命令。

‍ “linux服务器端”文件夹即为linux下的服务进程。安装方法和注意事项如下:

‍  本server.tar包内的服务程序是在Fedora9.0下编译生成的,极少数会出现如下情况-->:

       若你使用的是其它的版本的linux且解包后无法运行,则可能是由于编译器版本或所引用库不同所造成,出现这种情况请向我获取原码,在你的机器上重新编译即可。

     解包:将server.tar复制到linux目录(自已想放哪里就放哪里),执行tar -xvf server.tar即解包出server(只有server一个文件)

     你有两种方法来运行server,但建议使用第2种方法,因为它更简单,快捷:

     1、每次运行linux系统后,使用root帐户登陆,并进到server所在目录,手动运行server(输入./server回车即运行),之后服务就建立,你可以不必再待在linux环境中了,编译工作可在windows下轻松进行。

     2、配置/etc/rc.d/rc.local文件,让server在linux启动时自动运行,这样你连登陆linux都不需要了。修改如下:

     找到rc.local,在最后面加入server所在的位置的绝对路径/server,如你的server放在/root下,则在rc.local最后面加入: /root/server 

     需要注意的是,使用这种方法时,若你有自已的编译器(不是系统自带的gcc)请在/root/server前一行输出你自已的编译器的所在路径作为环境变量,如我的系统中除了系统自带的gcc外,还有自已的arm-linux-gcc,它放在/usr/local/arm/4.3.2/bin中,我在rc.local最后面需加以下两行:

      export PATH=$PATH:/usr/local/arm/4.3.2

      /root/server

      至于为什么要加入export PATH=$PATH:/usr/local/arm/4.3.2是因为使用第2种方法启动server时,在server启动时,你在其它地方设置的环境变量还没有获得执行export的机会(需有用户登陆才会执行标准环境变量设置文件),所以你需在上面输出你想要的环境变量。

按以上操作完毕后,重启linux后,运行ps –e查看是server是否运行,如下:

至此linux端OK。

 

回到windows,在cmd 进入Windows代理端所在目录,下运行“client ip(linux IP) m /”若出现如下图示,则说明代理已建立起来



关于client.exe命令说明:client + IP + CMD + PATH

‍IP->指server运行的linux机IP

‍CMD->make命令字:m/ma/ml  m即make、 ma即make all、ml即make clean。

PATH->要编译的源码在linux中的绝对路径(即makefile文件所在目录)。

例如要编译的文件在linux系统下的/home/project目录下,linux IP地址为192.168.1.5则执行

Client 192.168.1.5 m /home/project

 

接下来打开source insight 将鼠标移到工具栏空白位置,右击鼠标,如图调出build工具栏



选择菜单栏的Options/custom commands在弹出如下窗口,Command栏选择Build Project并进行如下设置:(此处是设置make命令:client ip m path)


上面设置完成后,在Command栏选择Clean Build并进行如下设置:(此处是设置make clean命令:client ip ml path)

‍‍上面设置完成后,在Command栏选择Compile File并进行如下设置:(此处是设置make all命令:client ip ma path)

‍‍以上设置完成后,点close按钮完成退出上面弹口,至此source insight的build工具栏已经可用,控制linux下的make命令如同source insight本身操作一样,下面我以编译我的linux-2.6.32的linux内核为例,一同体验一下自己DIY的开发平台,为了让大家体验到出错自动定位的功能,我特意在linux-2.6.32源码中加入语法错误,以便产生错误:


编译过程如下:

 编译完成后source insight显示编译结果,并定位错误:


下面我们再来Clean一下如下:

‍make all 自己试试吧

‍      是不是source insight更像专业的集成编译功能的IDE环境了?源码编写,修改,编译,错误定位全部在source insight中进行,无需切换到linux中。如果你不想在本机上装虚拟机,而利用网络上的linux服务器,一样可以搭建这样的系统,因为MakeAgent本来就是按服务器+客户机的方案设计的。

注意:

       1、若client无法connect到server,请检查windows端与linux端网络是否为通,可用ping命令验证。若ping通后仍无法connect,请将linux的防火墙和windows下的防墙均关闭,这些防火墙可能会拦阻client与server间的通信。

      2、linux下共享到window下的工程目录请开启所有权限(chmod –R a+rwx目录,chown nobody:nobody目录),以免要在windows下操作该共享目录时遭拒绝。

     3、MakeAgent只是将make命令传入linux下的server服务程序执行make操作,所以编译要顺利执行需要Makefile文件,同理make all 和make clean命令也需Makefile文件中有它们的目标点。因为整个工程都映射到了windows网络硬盘下了,所以Makefile文件也建议在source insight中打开,随时可更改,以便适应自已的需要。

‍    等以后有时间,可考虑在MakeAgent中加入配置向导,根据配置向导中的配置项和工程文件自动生成Makefile,实现工程文档的管理。如果有需要所有源码的,请与我联系。也请你修改后将其开源,让大家享受开源的好处。

 

‍MakeAgent软件包下载地址:

下载地址1(放在csdn上,即该连接需要你在csdn上注册):http://d.download.csdn.net/down/3003863/skyblue2003

下载地址2(放在我的邮箱中,通过地址引用出来,目前测试生效,不知以后是否仍生效):http://mail.sohu.com/bapp/82/download/LMEQAAAANEENSP2NOMGAAAAAGEYTGLRYHAXDONZOGU3XGDYAAAAGY2TDGIZDKQDTN5UHKLTDN5WXGNIAAAAGG5LSF4YTEOJWGAZDSOJUGQXFMOBRGFETSZJQGAYDKN2NGE4DCNZSGMXG26BYGIXG2YLJNQXHG33IOUXGG33NNEAAAAAANESIQRQANEAAAAAAOMHAAAAANVSXG43BM5SS64TGMM4DEMTTBUAAAACNMFVWKQLHMVXHILTFNVWA====.8226a89a90af523e4f67752342091f34.4


作者:skyblue

QQ:35534113

E-mail:ljc225@sohu.com‍

制作个人开发IDE

1.打开VS2013,新建项目: 2.点击下一步,下一步,到达如下界面: 3.下一步 4.下一步: 5.下一步: 6.下一步: 7.下一步: 8.点击执行...
  • toto1297488504
  • toto1297488504
  • 2014年07月28日 00:13
  • 1739

Source Insight 集成 TortoiseSVN功能 以及 代码编译命令

对于功能机开发,无论是MTK平台,还是展讯平台,一般是在Window XP系统中编辑源代码,编辑器也首选Source Insight;版本维护大多使用TortoiseSVN;编译也是在源代码目录下运行...
  • u013656962
  • u013656962
  • 2016年01月29日 16:24
  • 1227

source insight 条件编译代码分析技巧(快速定位#)

source insight 条件编译代码分析技巧 条件编译是C语言的一大特色。基于C实现的工程中,版本控制,平台移植以及调试输出很大程度上是通过条件编译实现的。 但是多层嵌套复杂的条...
  • willianlongfei
  • willianlongfei
  • 2013年06月18日 09:24
  • 2217

Source Insight与gvim合体变身最强编译器

考虑良久我才决定发这一贴,因为这是一个费力不讨好的事,容易被VS和eamcs的粉丝们狂喷,还容易被前辈们误认为不务正业,因为是想寻找一些和我一样喜欢vim和SI的童鞋共同学习。        进入正...
  • aleanking
  • aleanking
  • 2014年02月20日 21:44
  • 1295

C/C++编辑器Source Insight技巧收集

Source Insight技巧收集     Source Insight技巧收集 1、背景色选择     要改变...
  • linda1000
  • linda1000
  • 2013年09月30日 10:22
  • 7213

Source Insight 项目简单使用说明

SI(Source Insight) 是我一直写代码的好伙伴, 相信这强大的软件也是广大程序员编写软件的利器. 正所谓” 工欲善其事, 必先利其器”, 我们要学会利用这款软件. 先介绍一下它几个强大的...
  • yang2735
  • yang2735
  • 2014年07月03日 23:36
  • 2227

编译安装gdb+insight和gdbserver远程调试

下载gdb-6.8.tar.bz2 http://ftp.cs.pu.edu.tw/Linux/sourceware/gdb/releases/ 一.编译安装gdb luther@glietht...
  • u011308691
  • u011308691
  • 2013年12月30日 21:28
  • 1620

Source Insight 工具使用记录

目录前言 自定义添加的功能 效果预览图 格式化代码 AStyle CoolFormat 引入第三方的头文件 执行bat脚本文件 结束 前言第一次使用source insight实在大三,应该是2011...
  • over_qqqq
  • over_qqqq
  • 2016年03月20日 11:39
  • 1669

source insight——编码工具中的一朵奇葩

source insight是一款非常优秀的源代码编辑/浏览软件
  • crazycoder8848
  • crazycoder8848
  • 2014年07月26日 11:32
  • 6441

Source Insight 支持 PHP代码的详细设置

原文地址: 过程如下:  1、登陆http://www.sourceinsight.com/public/languages/,下载 PHP Script.CLF文件,或直...
  • xiaogugood
  • xiaogugood
  • 2014年07月03日 18:22
  • 4287
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为Source insight加入自已编写make代理编译软件DIY超级IDE开发平台
举报原因:
原因补充:

(最多只允许输入30个字)