[openGL] 在ubuntu下如何build openGL 程式

以前在windows寫c是用dev-c

大三大四後,寫matlab反而比較多

研究所後,因為需要反而轉戰visual studio

不得不說graphics的使用vc的還不少,例如說attila project除了linux版本之外也有針對vc2005做

相較於走網路的喜歡用linux,有系統的用工作站,走影像電腦視覺的用matlab,我們graphics大概就是windows吧

.

沒想到換到linux環境浪費了我一個下午在研究設定環境

這種helloworld之前的動作浪費超過10分鐘就是浪費了

.

一,五分鐘,在ubuntu上build一個openGL

請參考
http://wiki.ubuntu-tw.org/index.php?title=Howto_Install_OpenGL_Development_Environment

.

1.安裝ubuntu,我使用10.04

2.在terminal執行 sudo apt-get install build-essential libgl1-mesa-dev libglut-dev

libglut-dev找不到,用tab尋找版本,改成libglut3-dev即可

3.隨便找一個地方,寫一個example.c

#include <GL/glut.h>

void init();
void display();

int main(int argc, char* argv[])
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
	glutInitWindowPosition(0, 0);
	glutInitWindowSize(300, 300);

	glutCreateWindow("OpenGL 3D View");

	init();
	glutDisplayFunc(display);

	glutMainLoop();
	return 0;
}

void init()
{
	glClearColor(0.0, 0.0, 0.0, 0.0);
	glMatrixMode(GL_PROJECTION);
	glOrtho(-5, 5, -5, 5, 5, 15);
	glMatrixMode(GL_MODELVIEW);
	gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
}

void display()
{
	glClear(GL_COLOR_BUFFER_BIT);

	glColor3f(1.0, 0, 0);
	glutWireTeapot(3);

	glFlush();
}
4.存檔,用terminal移到該目錄,下指令,build檔案
gcc example.c -o example.out -lGL -lGLU -lglut


5.執行
./example.out
或點兩下,就看得到茶壺
其實卡最久的是,我以為只要 -lglut,但是前面兩個也要。我不知道為什麼ubuntu的官網說可以用toolchain。總之這樣是可以work的

4-2.如果想寫成makefile檔
開一個Makefile的檔案
內容打

all: example.c
gcc example.c -o example.out -lGL -lGLU -lglut
clean:
rm -f example.out

(縮牌是tab),應該可以。

如果那個茶壺的視窗關不掉,可以用視窗工具列按右鍵關閉

.

二,五分鐘,使用code block ide去產生一個glut project

阿,但是我之後要trace code

能夠用一個ide去看,還是比手動方便一點點。(對不起我是小弱弱)

參考
http://hi.baidu.com/yeyaxx/blog/item/0cd147f314a2c4da0b46e03e.html

.

1.安裝code blocks ide,可以從ubuntu的軟體管理中心搜尋到

如果要用指令介面可以下

sudo apt-get install build-essential gdb
sudo apt-get install codeblocks codeblocks-dbg
其他還裝什麼的我搞不懂,不想誤人

2.裝mesa環境,這些是幹嘛的我也不知道,照做

sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev automake autoconf libtool libgtk2.0-dev libxmu-dev libxxf86vm-dev

3.開codeblocks,然後找到

Settings->compiler and debugger settings->link settings
增加 /usr/lib/libGL.so /usr/lib/libGLU.so /usr/lib/libglut.so 這三個

4.new project,選glut project

輸入檔名、目錄後會要你找到glut路徑,這我也卡很久我以為要指定glut給他,後來才知道是"glut安裝路徑"。設為/usr/即可

5.專案建立起來後,codeblocks會自動產生一個範例,我直接build and run即可.

.

.

 

One thought on “[openGL] 在ubuntu下如何build openGL 程式

迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s