Chef1075
Chef1075

Reputation: 2724

Compile Error: linker command failed with exit code 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?

Upvotes: 1

Views: 1538

Answers (1)

Wintermute
Wintermute

Reputation: 44023

C++ is case-sensitive. This:

int Main ()

should be

int main ()

Upvotes: 5

Related Questions