【搭建开发环境】在 Windows XP 中参与开源项目,搭建 git 和 cygwin 开发环境
- 引言
只有一台 Windows XP 家用机,却想在诸如 Git@OSC 之类的开源社区参与开发,本文提供一个入门级的开发环境搭建指引。
涉及工具:Eclipse,EGit,Cygwin。
欢迎来到 lovickie 的博客 http://www.cnblogs.com/lovickie
- Git
git 是一个类似 svn 的版本控制系统。网上有很多基于 git 的在线代码托管平台,如 GitHub、OSC 等。由于伟大的 GFW,这里仅介绍如何使用 Eclipse 的 EGit 插件与 Git@OSC 交互。
1. 安装 Eclipse Kepler,然后进入菜单 Helper -> Eclipse Marketplace,稍等一会儿刷出插件市场,在 Find 中输入 EGit 后回车,搜到插件后点 Install。
为了方便看 C/C++ 程序,可以顺便把 CDT 插件也下载了。
2. 在 Eclipse 的 workspace 视图左侧空白处右键 -> Import,如下图选择 Git -> Projects From Git,点 Next。

然后选择 Clone URI(有的Eclipse版本只显示 URI),点 Next。显示如下对话框。

URI 中填写项目地址,在 git.oschina.net 中找个 C/C++ 的项目,右上角会有如下的可以复制项目地址之处。

当然了,这样 Import 下来的项目是没有权限提交的。正确的做法是在页面右上角点击 Fork 按钮,使得自己也获得该项目的一个分支,然后在自己页面的 Watched 中找到该项目,复制HTTPS地址。
然后填写在 OSC 注册的用户名密码,然后一路 Next,后面就是选择本地路径什么的,Wizard for project import 选择 Import as general project。
3. 左栏对修改过的源文件右键点Team,Commit 提交的是本地仓库,提交远程仓库的是 Push。Commit 的最后一步可以选择 commit & push。
至此已经将修改的代码提交到 OSC 上自己 Fork 的项目中。如果要提交给原作者,则在项目页面右上角点击 Pull Request,别忘了介绍一下自己改了些啥。
欢迎来到 lovickie 的博客 http://www.cnblogs.com/lovickie
- Cygwin
Import 了一个提供 Makefile 的 C 项目,考虑使用 Windows 上的类 UNIX 模拟环境 Cygwin 来编译和运行,而 Eclipse 只用来看代码和提交(尽管它其实也可以编译)。
1. 下载 cygwin-1.7.26 的 setup-x86.exe,安装后下面页面一定要选择 Install from Internet。即便之前安装过而想增加开发包也不要盲目选择 Install from Local Directory,想想看这是为什么?

如下图随便选择一个下载地址(注意千万不要多选)。

在下面页面选择开发包,单击那个转圈标志可以将 Default 修改为 Install / Reinstall / Uninstall,不熟悉的就不要乱改了,可以在 All -> Devel 中检查一下 make 是否被叉选(仅安装 Bin 即可,不必要叉选 Src 列)。
有时在这一步因为种种原因没有选中 make,会导致使用时没有 make 命令(这简直是不可饶恕的)。网上大多推荐去下载 make-3.81.tar.bz2 源码后再在 Cygwin 中编译生成 make,但是如果电脑的环境混乱(例如之前就安装过一些开发环境),很可能导致编译失败(产生诸如 lseek 定义冲突之类的错误)。
2. 下载安装时间有可能很久。安装完成后桌面上生成 Cygwin Terminal,打开便可以看见熟悉的 Unix 环境。

cd /cygdrive/e/git/xxx
make
chmod +x a.exe
./a.exe
我在检出的第一个项目中编译过程中遇到一个小问题,无法识别 Makefile 中的 -mno-cygwin,一查原来 gcc-4.7.0 以后已经移除了 -mno-cygwin,于是在 Makefile 中将它们都删了即可。
欢迎来到 lovickie 的博客 http://www.cnblogs.com/lovickie
- 结语
走了许多弯路,终于可以在一台本来只能玩游戏的家用 XP 上搞搞开发,想想还真是有点小激动呢。
【搭建开发环境】在 Windows XP 中参与开源项目,搭建 git 和 cygwin 开发环境的更多相关文章
- [转]如何使用VS 2013發布一個可以在Windows XP中獨立運行的可執行文件
https://read01.com/Mg337.html (台/湾的论坛,需要f/q) 1. 閱讀此文章的同學先看看我的另外一篇文章: 現在,我們深入探討一下: <如何使用VS 2013發布一 ...
- .NET开发人员值得关注的七个开源项目 .
NET开发人员值得关注的七个开源项目 软近几年在.NET社区开源项目方面投入了相当多的时间和资源,不禁让原本对峙的开源社区阵营大吃一惊,从微软.NET社区中的反应来看,微软.NET开发阵营对开源工具的 ...
- 如何参与开源项目 - 细说 GitHub 上的 PR 全过程
目录 一.概述 二.为什么要参与开源项目 三.为什么我想介绍如何 PR 四.我想参与开源项目,怎么开始? 4.1.寻找一个合适的开源项目 4.2.寻找贡献点 五.我要提交 PR,怎么上手? 5.1.第 ...
- Diycode开源项目 搭建可以具有下拉刷新和上拉加载的Fragment
1.效果预览 1.1.这个首页就是一个Fragment碎片,本文讲述的就是这个碎片的搭建方式. 下拉会有一个旋转的刷新圈,上拉会刷新数据. 1.2.整体结构 首先底层的是BaseFragment 然后 ...
- 【转】如何使用VS 2013发布一个可以在Windows XP中独立运行的可执行文件
问题描述: 用VS2013写好一个程序,在本机上运行一切正常.但是如果直接把exe文件放到另一台机器上用,则会出现: Windows XP:不是一个正常的win32程序 Window 7:缺少msvc ...
- windows下 maven+selenium+testng项目搭建(七)
Selenium2.47.1 + Maven3.3.9 + TestNG6.8.8 windows准备好以下环境 1. Jdk,环境变量配置 2. maven环境3. eclipse 开发工具 ,ec ...
- 【C/C++开发】值得学习的C语言开源项目
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...
- 积极参与开源项目,促进.NET Core生态社区发展
今天早上在微信群里聊天聊到百度的SDK 已经支持.NET Core, 百度已经在3月份就支持了,想起当时还是我在他们的github上提的issue: https://github.com/Baidu- ...
- Android开源项目发现--- 工具类快速开发篇(持续更新)
1. Guava Google的基于java1.6的类库集合的扩展项目 包括collections, caching, primitives support, concurrency librarie ...
随机推荐
- 第四届CCF软件能力认证(CSP2015) 第五题(最小花费)题解
[问题描述] C国共有$n$个城市.有$n-1$条双向道路,每条道路连接两个城市,任意两个城市之间能互相到达.小R来到C国旅行,他共规划了$m$条旅行的路线, 第$i$条旅行路线的起点是$s_i$,终 ...
- Away3D 的实体收集器Bug
最近在改Away3D源码的时候遇到个很郁闷的问题,发现创建的Mesh 释放不掉. 分析源码发现 EntityListItemPool 类中逻辑Bug在getItem()函数中发现_poolSize 对 ...
- 多媒体应用-swift
照片选择主要是通过UIImagePickerController控制器实例化一个对象,然后通过self.PresentViewController方法推出界面显示.需要实现代理UIImagePicke ...
- Mac系统Safari浏览器启动无图模式
有的时候我们用热点上网,图片的出现会消耗大量的流量,这时候就需要启动无图模式不加载图片. 步骤:启动Safari浏览器->偏好设置->高级->勾选“在菜单栏中显示“开发”菜单”-&g ...
- [Form Builder]Form中的validate验证事件
转:http://yedward.net/?id=70 Form的validate行为可以由一个总的form级别的validation属性来控制,可以通过set_form_property来设置成PR ...
- 在ModelSim波形图中以参数名显示变量
在ModelSim波形图中以参数名显示变量 在使用Verilog HDL编写有限状态机等逻辑的时候,状态机的各个状态通常以参数表示,但当使用ModelSim仿真的时候,状态机变量在wave窗口中以二进 ...
- 高级Magento模型 EAV
我们讲过Magento有两种模型,简单模型和EAV(Entity Attribute Value)模型.上一章我们讲过所有的Magento模型都是继承自Mage_Core_Model_Abstract ...
- HDU-1031(水题)
Design T-Shirt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) P ...
- html 微信开发——微信授权
微信JS-SDK说明文档 链接地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html 微信web开发:http: ...
- visio篇章--1
因为要做需求规格说明书的需要,所以学着用visio.发现visio中其实有很多东西的.我昨晚是用它来画ER图.不画不知道,花了之后才发现有很多窍门在里面.不说废话.我列举一下应该要的东西 1.百度链接 ...