title: Glut Initialisation Function
body: <p>I just wanted to ask in particular about the function glutInit in OpenGL and Microsoft Visual Studio C++.</p>
  
  <p>I was looking through the GLUT documentation and came across how it is declared using:</p>
  
  <pre><code>void glutInit(int *argcp, char **argv);
  </code></pre>
  
  <p>I inserted this code in the main.cpp file at the top but got an error.</p>
  
  <p>When I traced the error it led me to the following block of code.</p>
  
  <pre><code>/* GLUT initialization sub-API. */
  GLUTAPI void APIENTRY glutInit(int *argcp, char **argv);
  #if defined(_WIN32) &amp;&amp; !defined(GLUT_DISABLE_ATEXIT_HACK)
  GLUTAPI void APIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int));
  #ifndef GLUT_BUILDING_LIB
  static void APIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); }
  #define glutInit glutInit_ATEXIT_HACK
  #endif
  #endif
  </code></pre>
  
  <p>Does the above code already declare the <code>glutInit</code> function and secondly can you use: </p>
  
  <p><code>void glutInit(int *argcp, char **argv)</code> in <code>main.cpp</code></p>
  
  <p>to add other functions inside it such as the core glut functions.</p>