1

I'm new to C++ and trying to make a simple program.

But I get this error:

    Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[Finished in 0.4s with exit code 1]

From this code:

#include <iostream>
using namespace std;

// Lets add some global variables
int FirstNumber = 0;
int SecondNumber = 0;
int MultiNum = 0;

void MultiNumbers ()
{
    cout << "Enter the first number: ";
    cin >> FirstNumber;

    cout << "Enter the second number: ";
    cin >> SecondNumber;

    // Multiply two numbers...
    MultiNum = FirstNumber * SecondNumber;

    // Display result
    cout << "Displaying result from MultiNumbers(): ";
    cout << FirstNumber << " x " << SecondNumber;
    cout << " = " << MultiNum << endl;
}
int Main ()
{
    cout << "This program will help you to multiply two numbers" << endl;

    // Now call the function that does all the work
    MultiNumbers();

    cout << "Displaying from main(): ";

    // This line will not compile and work because of the global variables
    cout << FirstNumber << " x " << SecondNumber;
    cout << " = " << MultiNum << endl;

    return 0;
}

I've tried checking my compiler on sublime, compiling in terminal with g++ -o test test.cpp

But nothing seems to help.

My understanding is, I've defined MultiNumbers() above and then I'm calling it in Main()...but I seem to have missed something...

Suggestions?

Chef1075
  • 2,614
  • 9
  • 40
  • 57

1 Answers1

5

C++ is case-sensitive. This:

int Main ()

should be

int main ()
Wintermute
  • 42,983
  • 5
  • 77
  • 80
  • Or you can change entry point that will be used: http://stackoverflow.com/questions/7494244/how-to-change-the-entry-point-in-gcc – bialpio Jan 09 '15 at 21:51