这几天心血来潮开始弄虚拟机,里面有一个老早以前装的ubuntu10。一直没怎么用,也不会用。这几天正好闲着,就想方设法想在linux下面调试一个程序出来。上网开始各种搜索,接触了GCC,minGW,emacs,vim,gcc-code-complete,gccsense,输入法:sunpinyin,Qt SDK,用得最多的就是终端了。这个用着感觉很高端又很蛋疼的东东。

 

昨天问了方丈一下午,关于安装sunpinyin和code complete的事情,最后木有搞定,各种编译错误。

经过昨天一天折腾,今天其实已经很郁闷了。因为啥都没有装上。不过继续,我觉得这个编译的东西,看着说明书又有google是难不倒我的,于是一番google,到傍晚已经搞定了sunpinyin,就是现在在打字用的,还不错。算是linux下最好的中文输入法了。也装完了emacs的code complete,即那个gccsense。类似VS中的visual assist插件。不过最然能出来一些补全的候选词,不过不咋地。由于user manual太长,还需要研究。emacs的设置也看了一遍,快捷键也翻了一遍,不是很适应,对于emacs没有标签页我表示很蛋疼。据说vim很是友好,要用一下。

写了linux下第一个程序,当然就是“hello linux!!”了。

编译是:

$gcc -o test.cpp test

$./test

就这样linux在和我招手。

 

晚上把项目传到linux上,结果出来几百个error。看了一下主要是不认识opengl。于是打算装一下opengl,这个嘛,搜一下就有了。

 

命令: sudo apt-get install freeglut3-dev 这个命令安装glut库,不过仅仅装完这个编译没有过。

命令:sudo apt-get install build essential 是安装编译必须的库文件

后来又装了个 sbuild。

然后到新利德去看了一些mesa和glut相关的东西,我把看着有些关系的都勾上装了。

 

在编译一个opengl测试程序的时候弹出来的错误:undefined reference to'__gxx_personality_v0

编译命令:gcc -lglut -o opengl opengl.cpp 就报错。

方法:编译 c++ 程序需要添加 -lstdc++ option. sample: gcc -lstdc++ -o test test.c 否则会报  "undefined reference to'__gxx_personality_v0' " 错误,或者用g++也可以。

编译完成。必须截个图啊:

 

 

项目里面有人用了glaux,这个东东在windows上已经过时了,在linux下压根没有,不过找到一个比较好的东东,叫SDL(Simple Direct Media Layer),http://zh.wikipedia.org/wiki/SDL是一个中间层,类似xlib,qt是在xlib上搭建的。这个东东管理了视频,图片,声音等多媒体文件的处理,能很好代替glaux,而且是跨平台的。有空要研究一下。

 

发现一用linux才真正接触很多东西,感觉突然进入了程序的世界,什么东西都是开源的,什么东西拿到的都是源代码,什么东西都要编译才行。原来我觉得这真是麻烦,现在觉得还挺有意思的~

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐