Read time: 4 minutes
I am lucky to be at TCC because here everyone learns (or hear about/search) a new thing daily. So I came to know how a single or two keywords can give you the required results on the search engine. So to find a thing on Internet is not an easy task as we think it is. As from last two days, I found nothing about the hatching algorithm, but last night I added two keywords to my searches and I found some beneficial results to learn from. Firstly, I was searching like “hatching algorithm”, “hatching algorithm in c++”, in libreCAD , in CAD, and much more like this. But then last night, I searched “hatching algorithm with line”, I found a link “cs1.bradley.edu/public/jcm/cs535Hatching.html”. Then me and Gurpinder tried to compile the program. But it showed many errors.
#Installing OpenGL Libraries and errors faced
The program includes the OpenGL libraries like gl.h, glut.h etc. We must link them while compiling to execute the program. At first, I got errors like “windows.h : no such file or directory”. Because it works in Microsoft Windows OS so I just excluded this line using “//” at the beginning of the line. Then the second error was like “gl/gl.h :no such file or directory”. To solve this error we must install the OpenGL (Graphics Libraries) by typing in terminal:
sudo apt-get install freeglut3 freeglut3-dev
Also install the following library:
sudo apt-get install libglew1.5
Remove the spaces inside the < > brackets and instead of writing < GL/glew.h > write <GL/glew.h Then I compiled the program referring the command from Internet:
g++-I/usr/include -L/usr/lib -lglut -lGL -lGLU -lGLEW example.cpp -o example
Here example.cpp is the main c++ program and example at the end is the executable file. It’s more likely that g++ by default looks for GL/glew.h in /usr/local/include.
And always type above command like this : GL/gl.h Here GL must be in capital letters. If you had corrected these errors, then if there is still an error like “
After all above steps, when I recompiled it using command
g++ -I/usr/include/GL -I/usr/lib -lGL -lglut new.cpp
Then I got about 90 lines of error. Here is the errors : Link to errors
Then one of my friend Jagmeet Singh helped me and he wrote it like this:
g++ new.cpp -I/usr/include/GL -I/usr/lib -lGL -lglut
and then we were left with one error only. I was quite happy then. The error was
g++ new2.cpp -I/usr/include/GL -I/usr/lib -lGL -lglut
/tmp/ccLO5WPf.o: In function `myInit()':
new2.cpp:(.text+0x13c): undefined reference to `gluOrtho2D'
collect2: error: ld returned 1 exit status
Then I excluded this line containing “gluOrtho2D” form the program. It showed a blank white window.
Then at home I searched on Internet about the error and found the result of linking the library.
So the final compiling code is :
g++ new2.cpp -I/usr/include/GL -I/usr/lib -lGL -lglut -lGLU
Then a executable file will be created itself. Then execute that by ./ for example
./a.out
in my case.
So, we can conclude that almost everything is on Internet. This is our way to search that matters. If we find a solution then we should present it in a better way so that in future it can help other Internet users.