【新手入门】Opensuse下各种开发环境的搭建
opensuse吧
全部回复
仅看楼主
level 10
FlyHighDream 楼主
Opensuse作为linux的一个发行版,知道linux的都了解其开发功能的强大,在这里简单介绍一下并且以命令行格式来说明其开发环境的搭建。。方便一下第一次入手的朋友。
主要涵盖的编程语言:C/C++/Java/Perl/Python;
代码阅读和编辑器:Vim/Emacs/KWrite/Gedit;
图形界面库: Qt/Gtk+/wxWidgets;
集成开发环境:QtCreator/KDevelop/Anjuta/Code::Blocks/Eclipse;
Linux下的Android 开发环境 。
2013年12月10日 15点12分 1
level 10
FlyHighDream 楼主
1.代码阅读和编辑器
Vim是vi的进化版,与 Emacs都是老牌的代码编辑器。这两个编辑器已经纵横了几十年了。vim本身是命令行下的编辑器,有个图形界面的包:gvim。这两个在openSUSE的发行DVD里面都有。openSUSE默认安装了vim,但没装gvim,可以用Yast的软件管理搜索软件包的名字安装,或者执行安装命令:
zypper in gvim
Emacs默认没被安装,可以自己装:
zypper in emacs emacs-info
Kwrite是KDE桌面默认的文本和代码编辑器,KWrite还有个高级版Kate,功能更丰富。Gedit是GNOME桌面默认的文本和代码编辑器。如果是KDE桌面,需要装Gedit的话,可以执行:
zypper in gedit gedit-plugins gedit-plugins-lang
如果是GNOME桌面尝试KWrite/Kate,执行:
zypper in kwrite kate
几乎所有的Linux下的编辑器都带有各种编程语言的语法高亮显示,还有各种编辑器的插件(如gedit-plugins )。可以自己按照喜好定制编辑器。
不管喜好什么编辑器和编程语言,都可以类似地定制。这就是开源的好处之一。
在这里补充一下其命令行的粘贴方式,是在网页上ctrl+c命令,然后在终端里alt+ctrl+v即可。
2013年12月10日 15点12分 2
不是Ctrl+Shift+V吗
2013年12月12日 13点12分
回复 辐射桃子 :是,我打错了……我想表达的意思的shift……
2013年12月12日 13点12分
level 10
FlyHighDream 楼主
2.C/C++编译器和开发库 。
安装gcc和g++等工具。可以在Yast的软件管理里面,搜索包的名字来安装,也可以用root命令行执行命令:
zypper in gcc gcc-c++
GNU编译器里还有其他编程语言的,如gcc-ada,gcc-fortran ,gcc-java ,gcc-objc等等,可以根据自己需要安装。
安装gcc和gcc-c++这两个软件包,软件包管理器会自动安装它们的依赖包:
binutils, gcc48, gcc48-c++ , glibc-devel, libstdc++48-devel , linux-glibc-devel。
第一个GNU Binutils是一些编程工具的集合,如其中的ar用于打包静态库,ld是链接器。这些是编程必备的。第二个和第三个是gcc和g++的实际的软件包,最后三个是标准C库和C++库的开发包,包含各种头文件和基础库。
除了编译器,还有其他编程或编译源码常用的工具。这里简单介绍一些:
gdb 调试器,默认已装,可以调试各种源代码,包括C/C++/Java/Fortran/Object-C等。
kdbg gdb的图形界面。
cpp 系统 GNU 预处理器,默认已装。
autoconf 自动配置源码和makefile文件的工具。
autogen 自动文本文件生成器,用于生成程序的文件,简化程序的管理。
automake 自动生成GNU风格的Makefile.in文件。
bison 类似Yacc的语法解析生成器。学编译原理的应该知道。
flex 快速词法分析生成器。学编译原理的应该知道。
m4 是传统Unix宏解析器的一个实现。
make 是编译项目代码必备的,包含make命令行工具和文档。
cmake 跨平台的make工具。如果是使用cmake的Qt项目,还需要软件包 automoc4。
ccache 快速C/C++编译器缓存,加速编译器重复编译的过程。
checkinstall “make install”命令安装的跟踪器,从源码编译安装程序时常用。
nasm x86汇编工具。
boost-devel Boost是 跨平台的C++标准库的扩展库, 包含大量的通用功能代码。这个是其开发包。
gsl GNU科学计算库,如数值计算等。其开发库是gsl-devel。
opencv Intel的开源图像视频处理库。其开发库是opencv-devel。
sqlite3-devel SQLite 3数据库的开发包。
zlib-devel 压缩函数库zlib的开发包。
tcllib, tcl-devel, tclx, tix, tk, tk-devel, vtcl 这些是Tcl/Tk编程的工具和库文件,编译源码的时候可能遇到。
2013年12月10日 16点12分 3
问一下,gcc没法包含库文件怎么回事,我装了一个数据处理包之后,没法调用里面的.h
2014年11月17日 11点11分
level 10
FlyHighDream 楼主
3.Java和 Eclipse集成开发环境
Java毫无疑问也是非常流行的编程语言。Oracle官方有适合各种操作系统的JDK 7.0的下载
openSUSE自带的是开源社区维护的OpenJDK 7,默认装了OpenJDK 7,但是开发包、文档、例子没装,如果要搞Java开发,建议都装上:
zypper in java-1_7_0-openjdk-devel java-1_7_0-openjdk-demo java-1_7_0-openjdk-javadoc
由于openJDK很多东西或快捷方式装在系统路径上,所以不需要配置。直接可用来编译Java程序
Eclipse是IBM公司引领的杰作,很多Java开发都用Eclipse集成开发环境,包括Android开发调试。Eclipse本身是一个跨平台的框架,可以通过插件形式,支持Java、C/C++、Perl、Ruby、Python、数据库等开发。Eclipse需要去官网下载:
http://www.eclipse.org/downloads/
一般Java开发可以下载:Eclipse IDE for Java EE Developers ,根据自己系统选择Linux 32bit或Linux 64bit。如果用于C/C++或建模语言,可以下载其他的版本。
下载后,比如64位系统的eclipse-jee-juno-SR2-linux-gtk-x86_64.tar.gz,可以直接解压缩到用户目录的bin文件夹里,比如解压到 /home/suse123/bin/ 。然后在/home/suse123/bin/eclipse/目录下面直接运行eclipse就行了。初次运行会比较慢,后面会好些。Eclipse工作空间用默认的如/home/suse123/workspace就行。
可以在Eclipse里面新建各种项目,包括Java本身的和Web的都可以。
Eclipse汉化包可以通过在Eclipse里面添加源,然后自动下载中文语言插件。参看这个:
http://zhidao.baidu.com/question/179934518.html
http://www.eclipse.org/babel/downloads.php
对于最新的Juno版本,打开 Eclipse菜单Help——>Install New Softw
2013年12月10日 16点12分 4
level 10
FlyHighDream 楼主
5.Qt和QtCreator、KDevelop
Linux下常用的C/C++语言的图形库就数Qt、Gtk+和wxWidgets了。这些都是可以跨平台的,Windows下也可以有。常用的集成开发环境,除了上面的Eclipse,还有KDevelop、QtCreator、Anjuta、Code::Blocks,Gtk+有个可视化编辑的工具glade 。
本节介绍Qt和QtCreator、KDevelop。Qt最初是奇趣公司开发的跨平台图形库。后来整个公司被Nokia买了,Nokia本打算利用Qt开发新的智能手机操作系统Meego,Meego不幸夭折了。Qt也被Nokia出卖给芬兰IT服务公司Digia。虽然遭遇各种变故,Qt的活力不减当年。
Qt是KDE桌面的基石,开发Qt程序可以用简单的文本编辑器,也可用各种复杂的集成开发环境。QtCreator算是后起之秀,现在做的界面和功能都不错,建议使用。Qt开发库和QtCreator安装命令:
zypper in libqt4-devel qt-creator libqt4-devel-doc
需要注意磁盘空间,最后一个文档包体积较大,当然所带的英文资料也够丰富。(在Yast软件管理中搜索 qt5 可以找到 qt5 的开发库和工具。)
KDevelop是比较全面的集成开发环境,KDevelop支持多种不同语言,其中包括C、C++、Perl、Python、PHP、Java、Fortran、Ruby、Ada、Pascal、SQL和Bash脚本。支持各种图形库编程,支持的构建系统包括GNU(automake)、cmake、qmake和自定义项目的make(如果您想使用自己的Makefile,KDevelop不会破坏它们的)以及不需要Makefile的脚本项目。安装命令:
zypper in kdevelop4 libkde4-devel kdevelop4-devel kdevelop4-plugins-php kdevelop4-doc
安装后运行KDevelop可能会提示Git插件被禁用,因为没装Git。Git等版本控制系统后面介绍,这里先不管。默认的项目模板不多,其他语言支持的应该需要具体配置,参看其文档和主页:
http://www.kdevelop.org/
PS:楼主就在用qt creator,很喜欢
2013年12月10日 16点12分 6
level 10
FlyHighDream 楼主
7.Gtk+和Anjuta
Gtk+当然也是非常著名的图形库,是GNOME、Xface、LXDE等桌面环境的基石。openSUSE发行光盘里面有Gtk+ 版本2和版本3的开发包,还有许多其他Gtk+系列的库。Gtk+有一个可视化编辑工具Glade,当然更推荐GNOME桌面集成开发环境Anjuta,Anjuta还有一些插件可以自己装。Gtk+和Anjuta安装命令:
zypper in gtk3-devel gtk-doc anjuta anjuta-lang intltool gtkmm3-devel gtkmm3-doc gtkmm3-tutorial gtkmm3-tutorial-lang
安装Anjuta的时候,软件管理器会装一堆依赖包(好像少了个intltool,一定要补上),其中有subversion,就是SVN版本控制系统。
这些集成开发环境都附带有版本控制系统的插件功能,比较省事。除了支持C/C++/Gtk+,Anjuta还支持Java/JavaScript/Python等语言和WxWidgets图形库编程。
2013年12月10日 16点12分 7
level 10
FlyHighDream 楼主
8.wxWidgets和 Code::Blocks/CodeLite
wxWidgets是模仿Windows MFC编程风格的跨平台图形库。它执行效率比较高,在Windows下像MFC,Linux下就像Gtk+。网页编辑工具Amaya、FTP软件FileZilla 、集成开发环境Code::Blocks/CodeLite就是使用wxWidgets开发的。wxWidgets的开发库需要连网下载。安装命令:
zypper in wxWidgets-devel wxWidgets-docs
wxWidgets的组件比较散,还有一些插件和其他的插件开发包,可以自己选择安装。
Code::Blocks也是流行的开发环境,只是在openSUSE上用的比较少,在openSUSE官方发行DVD和源里面没有。CodeLite也是类似的开发环境,已经进入openSUSE官方源里。
Code::Blocks需要安装libcodeblocks0和codeblocks本身,一键安装的页面:
http://software.opensuse.org/package/libcodeblocks0
http://software.opensuse.org/package/codeblocks
或者使用root命令行安装:
zypper ar -f http://download.opensuse.org/repositories/home:/NarkoZ:/devel:/tools:/ide/openSUSE_13.1/ IDEzypper in libcodeblocks0 codeblocks
Code::Blocks运行比较快,默认就带很多项目模板如C/C++/Fortran、Gtk+、Qt、wxWidgets、OpenGL、Matlab等等,这也是它在Linux和Windows下流行的一个原因。
Code::Blocks官网:
http://www.codeblocks.org/
CodeLite已经在openSUSE官方源中,可以直接用Yast软件管理搜索安装。
http://www.codelite.org/
PS:code::block是国际ACM大赛的标准集成环境,有志于ACM的童鞋一定得提前看.
2013年12月10日 16点12分 8
level 10
FlyHighDream 楼主
8.Android开发环境的搭建
Android是著名的开源智能手机操作系统,Android SDK是其开发环境,如果要为Android开发软件包,可以在官网下载全套的ADT (Android Developer Tools):
http://developer.android.com/sdk/index.html
32位系统下载 adt-bundle-linux-x86-*.zip,64位系统下载 adt-bundle-linux-x86_64-*.zip 。
比如下载的是adt-bundle-linux-x86_64-20130219 .zip,直接解压缩到当前用户目录的bin文件夹里,如 /home/suse123/bin/ ,然后进入目录 /home/suse123/bin/adt-bundle-linux-x86_64-20130219 /eclipse/ ,直接运行里面的eclipse即可。由于openSUSE默认就装了openjdk到系统路径,所以不需要配置,就可以使用Android开发平台。
上面方法是最简单的安装方式,ADT (Android Developer Tools)包含了Eclipse IDE、Android开发库、模拟器,应有尽有。还有一个稍微麻烦的安装方式。如果系统里面已经有了现成的openJDK和Eclipse,希望通过插件方式集成Android SDK Tools也是可以的,需要连网下载Eclipse插件,具体配置方式参考:
http://developer.android.com/sdk/installing/index.html
http://www.cnblogs.com/pharen/archive/2011/09/13/2174592.html
新手当然推荐第一种最简单的ADT (Android Developer Tools),不需要配置,直接使用。
2013年12月10日 16点12分 9
level 10
FlyHighDream 楼主
9.版本控制软件
版本控制软件是开发软件、维护软件源码、软件代码更新、下载和发布的综合管理平台。比如openSUSE的源代码就完全通过git来开发、管理、下载、发布的(如 http://gitorious.org/opensuse )。 因为开源社区维护开源软件时,很多时候同一软件的开发者不可能始终凑一起开发,所以分布式版本控制软件就很必要。这样可以在各种环境开发和更新软件源码。常用的版本控制系统有:CVS(Concurrent Versions System)、SVN(Subversion)、Git、 Mercurial、Bazaar等。
关于Linux下的版本控制软件,推荐看这个帖子:
http://www.ibm.com/developerworks/cn/linux/l-vercon/index.html
17.9.1 CVS
CVS是一个老牌的版本控制系统,根据维基百科介绍,很多开源或者自由软件项目都使用CVS作为其程序员之间的中心点,以便能够综合各程序员的改进和更改。这些项目包括:Gnome、KDE、GIMP、Wine等。CVS的使用获GNU通用公共许可证授权。
CVS安装命令:
zypper in cvs cvs-doc cervisia
查看CVS内置帮助说明的命令:
cvs --help
17.9.2 SVN
根据维基百科介绍,Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。2009年11月,Subversion被Apache Incubator专案所接收。2010年1月,正式成为Apache软件基金会的一个顶级专案。
SVN安装命令:
zypper in subversion subversion-doc kdesvn
还有其他 Subversion相关的包,比如cvs2svn是将CVS源转换成SVN的源, kdesvn是SVN的图形客户端,subversion-server和subversion-tools是搭建SVN服务器的Apache软件模块和管理工具。查看SVN内置帮助说明的命令:
svn help
17.9.3 Git
Git是Linux内核开发老大Linus Torvalds创立的
2013年12月10日 16点12分 10
level 10
FlyHighDream 楼主
发完劳资才发现标错序号了,悲剧了[惆怅~]
2013年12月10日 16点12分 12
level 12
这玩意儿其实一张dvd镜像就搞定了有木有[太开心]
2013年12月10日 16点12分 13
老乡,我家乡也是甘肃[哈哈]
2013年12月10日 23点12分
我测试了最完整的发行版dvd记得里面有Emacs,kdevelop,Anjuta,qt语言家与qt设计师……没有qt creator与codeblock,安卓模拟器也得自己做……然后编译器都有,只要不要默认安装在软件里都找得到,打钩即可……嗯,我说完了
2013年12月10日 23点12分
level 11
学习了,,9谢
2013年12月11日 03点12分 14
目测吧里人很少。。
2013年12月12日 04点12分
回复 FlyHighDream :最近还算好 13.1发布之前几乎没人
2013年12月12日 04点12分
回复 zxzxzx258 :[汗]好的吧,我刚来……
2013年12月12日 04点12分
刚刚接触opensuse,藐视很不错的样子![吐舌]
2013年12月18日 12点12分
level 1
一直在找类似帖子,没找到,今天居然无意碰到了,收藏了
2013年12月20日 06点12分 15
以后我有时间会经常整理的,最近忙着准备下个月的考试。
2013年12月20日 13点12分
level 9
省事了
2013年12月28日 15点12分 17
level 11
没有sublime text不信服
2013年12月29日 08点12分 18
level 8
路过。想问个,在Linux下我的键盘的Ctrl键组合S、D、Z、A之类的就失效了,比如在终端就无法用Ctrl+C的组合键,只会出来个大写的C。是什么原故呢?
2014年10月25日 23点10分 19
[喷]不知道Ctrl+C在终端下有专门用途吗?终端下Ctrl+C (cancel)是取消的意思。终端下复制请用Ctrl+Shift+C。
2014年10月27日 07点10分
回复 洋芋要切丝 :他自己不看二楼内容,我也是醉了。。。
2014年10月27日 10点10分
回复 洋芋要切丝 :你个SB,还给我发喷的表情。装什么大神,还有你那个跟风的。是我表达不清楚?我会不知道那个组合是取消?这些键我比你清楚,这个Ctrl被 识别成Shift 了,懂我的意思 了么?真不知道我发的话是怎么看,怎么理解的
2014年10月29日 11点10分
回复 zhou347742 :好吧,我发喷的表情是我不对,我先道歉。再解释一下问题:确实,你没回复我之前,没仔细看,只是简单的理解为终端Ctrl+C问题,这确实是个误会,你举的例子有点极端,Ctrl+C,还是在终端下,难免让人想歪,如果你举例是在kwrite下使用Ctrl+A无法全选,那就好理解了。
2014年10月29日 11点10分
level 14
我去。。。
2014年10月27日 05点10分 20
level 3
标记一记!回头仔细看。。
2014年10月28日 01点10分 21
level 7
curl -L get.rvm.io | bash -s stable
我来安利一下ruby
2014年10月28日 09点10分 22
[太开心]谢谢亲
2014年10月28日 10点10分
1 2 尾页