Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
195 views
in Technique[技术] by (71.8m points)

c - Linker error: undefined reference to `main'

#include <cs50.h>
#include <stdio.h>

bool maths (int a, int b, int c)
{
    int first = a + b;
    int second = b + c;
    int third = c + a;
    if (first <= c)
    {
        return false;
    }
    else if (second <= a)
    {
        return false;
    }
    else if (third <= b)
    {
        return false;
    }
    else
    {
        return true;
    }
}

I get the error message undefined reference to `main' 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?

$ 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: *** [<builtin>: triangle] Error 1
question from:https://stackoverflow.com/questions/65947500/linker-error-undefined-reference-to-main

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It seems that a main function is missing in your program.

#include <cs50.h>
#include <stdio.h>

bool maths (int a, int b, int c)
{
    int first = a + b;
    int second = b + c;
    int third = c + a;
    if (first <= c)
    {
        return false;
    }
    else if (second <= a)
    {
        return false;
    }
    else if (third <= b)
    {
        return false;
        }
    else
    {
        return true;
    }
}

int main ()
{
  maths(1,2,3);

  return 0;
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...