【搭建开发环境】在 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 ...
随机推荐
- 注册表-各种功能-隐藏IE、隐藏硬盘、禁用硬件
1.在[我的电脑]上隐藏软驱 在[开始]→[运行]→输入[Regedit]→[HKEY_CURRENT_USER]→[Software] →[Microsoft] →[Windows]→[Curren ...
- 【Hibernate】--一对一关联、联合主键
一.数据模型 1.学生信息模型(编号.名称.身份信息) public class Student implements java.io.Serializable{ private static fin ...
- 用lambda构建ORM查询语句
本文介绍如何解析lambda表达式来获取一个满足条件的查询语句. 先看个截图 通过设置实体对象Article_Content的查询表达式,就可以获取对应的参数化SQL语句,使用起来很方便,减少了代码 ...
- PowerDesigner实用技巧小结(2)
PowerDesigner实用技巧小结 1.ORACLE数据库建模时,由于ORACLE的表名.字段名如果是小写会有一定的麻烦,需要将小写转化为大写? (1)在打开pdm的情况下,进入Tools-Mod ...
- 关于SpingMVC实现文件下载你所不知道的
http://www.cnblogs.com/yolanda-lee/p/4683422.html 文件的上传下载一般在项目中还是非常实用的,此处专门整理一下文件的下载,至于文件的上传实现将在后续中补 ...
- scrollTop 值为 0
由scrollTop兼容问题引起: 在 Firefox 和 IE 中,使用 document.documentElement.scrollTop 获取: 在 Chrome 中,使用 document. ...
- jQuery语法基础&选择器
jQuery 语法 jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作. 基础语法是:$(selector).action() 美元符号定义 jQuery 选择符(select ...
- android111 java中调用c代码
MainActivity: package com.itheima.helloworld1; import android.os.Bundle; import android.app.Activity ...
- IIS7及以上伪静态报错404
内容摘要:故障现象:DTCMS开启伪静态功能,VS2010预览正常,发布到IIS后报错404.0错误(WIN7,WIN8,SERVER2008).模块IISWebCore通知MapRequestHan ...
- linux启动的过程
总结一下,linux的开机整个流程. · 1: 启动电源后,主机第一步先做的就是查询BIOS(全称:basic input/output system 基本输入输出系统)信息.了解整个系统的硬件状态, ...