Note that there are some explanatory texts on larger screens.

plurals
  1. POCompile error with OpenGL
    text
    copied!<p>Here is the program that I am trying to run</p> <pre><code>//////////////////////////////////////////////////// // square.cpp // // Stripped down OpenGL program that draws a square. // // Sumanta Guha. //////////////////////////////////////////////////// #include &lt;iostream&gt; #ifdef __APPLE__ # include &lt;GLUT/glut.h&gt; #else # include &lt;GL/glut.h&gt; #endif using namespace std; // Drawing (display) routine. void drawScene(void) { // Clear screen to background color. glClear(GL_COLOR_BUFFER_BIT); // Set foreground (or drawing) color. glColor3f(0.0, 0.0, 0.0); // Draw a polygon with specified vertices. glBegin(GL_POLYGON); glVertex3f(20.0, 20.0, 0.0); glVertex3f(80.0, 20.0, 0.0); glVertex3f(80.0, 80.0, 0.0); glVertex3f(20.0, 80.0, 0.0); glEnd(); // Flush created objects to the screen, i.e., force rendering. glFlush(); } // Initialization routine. void setup(void) { // Set background (or clearing) color. glClearColor(1.0, 1.0, 1.0, 0.0); } // OpenGL window reshape routine. void resize(int w, int h) { // Set viewport size to be entire OpenGL window. glViewport(0, 0, (GLsizei)w, (GLsizei)h); // Set matrix mode to projection. glMatrixMode(GL_PROJECTION); // Clear current projection matrix to identity. glLoadIdentity(); // Specify the orthographic (or perpendicular) projection, // i.e., define the viewing box. glOrtho(0.0, 100.0, 0.0, 100.0, -1.0, 1.0); // Set matrix mode to modelview. glMatrixMode(GL_MODELVIEW); // Clear current modelview matrix to identity. glLoadIdentity(); } // Keyboard input processing routine. void keyInput(unsigned char key, int x, int y) { switch(key) { // Press escape to exit. case 27: exit(0); break; default: break; } } // Main routine: defines window properties, creates window, // registers callback routines and begins processing. int main(int argc, char **argv) { // Initialize GLUT. glutInit(&amp;argc, argv); // Set display mode as single-buffered and RGB color. glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // Set OpenGL window size. glutInitWindowSize(500, 500); // Set position of OpenGL window upper-left corner. glutInitWindowPosition(100, 100); // Create OpenGL window with title. glutCreateWindow("square.cpp"); // Initialize. setup(); // Register display routine. glutDisplayFunc(drawScene); // Register reshape routine. glutReshapeFunc(resize); // Register keyboard routine. glutKeyboardFunc(keyInput); // Begin processing. glutMainLoop(); return 0; } </code></pre> <p>I am certain I have glut and OpenGL installed and up to date, and this is the error that I am getting (I am compiling the code the way it is laid out in the book which is from 2011):</p> <blockquote> <p>ubuntu:~/Downloads/Code$ gcc square.cpp -o square -I /usr/include/ -L /usr/lib -lglut -lGL -lGLU -lX11 /tmp/ccAq6h4h.o:square.cpp:function __static_initialization_and_destruction_0(int, int): error: undefined reference to 'std::ios_base::Init::Init()' /tmp/ccAq6h4h.o:square.cpp:function __static_initialization_and_destruction_0(int, int): error: undefined reference to 'std::ios_base::Init::~Init()' collect2: ld returned 1 exit status</p> </blockquote> <p>I wrote my own code and left it as a c file and it compiled</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload