title: Linker error: undefined reference to `main'
body: <pre><code>#include &lt;cs50.h&gt;
  #include &lt;stdio.h&gt;
  
  bool maths (int a, int b, int c)
  {
      int first = a + b;
      int second = b + c;
      int third = c + a;
      if (first &lt;= c)
      {
          return false;
      }
      else if (second &lt;= a)
      {
          return false;
      }
      else if (third &lt;= b)
      {
          return false;
      }
      else
      {
          return true;
      }
  }
  </code></pre>
  <p>I get the error message <code>undefined reference to `main'</code> when I try to compile. I have tried to look up this error message, but the stuff I find is over my head. Can anyone explain to a novice like me what I have done wrong?</p>
  <pre><code>$ clang -ggdb3 -O0 -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow    triangle.c  -lcrypt -lcs50 -lm -o triangle
  /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crt1.o: in function `_start':
  (.text+0x24): undefined reference to `main'
  clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
  make: *** [&lt;builtin&gt;: triangle] Error 1
  </code></pre>