架构x86_64的未定义符号:c++;/h文件和cpp文件 我试图理解C++中的Head(.h)文件和源文件(.CPP)。我写了一个非常简单的例子来理解它。我的操作系统是MacOS。我在终端中运行“g++main.cpp”。但出现如下编译错误: Undefined symbols for architecture x86_64: "Date::Date(int, int, int)", referenced from: _main in main-0f869d.o ld: symbol(s) not found for architecture x86_64
我的代码如下。请帮忙,谢谢 main.cpp文件:架构x86_64的未定义符号:c++;/h文件和cpp文件 我试图理解C++中的Head(.h)文件和源文件(.CPP)。我写了一个非常简单的例子来理解它。我的操作系统是MacOS。我在终端中运行“g++main.cpp”。但出现如下编译错误: Undefined symbols for architecture x86_64: "Date::Date(int, int, int)", referenced from: _main in main-0f869d.o ld: symbol(s) not found for architecture x86_64,c++,C++,我的代码如下。请帮忙,谢谢 main.cpp文件: #include <iostream> #include "Date.h" using namespace std; int main() { Date d(2017, 08, 20); cout<<"getYear="<<d.getYear()<<endl; return 1; } Date.cpp文件: #include "Date.h" // Date cons
#include <iostream>
#include "Date.h"
using namespace std;
int main()
{
Date d(2017, 08, 20);
cout<<"getYear="<<d.getYear()<<endl;
return 1;
}
Date.cpp文件:
#include "Date.h"
// Date constructor
Date::Date(int year, int month, int day)
{
SetDate(year, month, day);
}
// Date member function
void Date::SetDate(int year, int month, int day)
{
m_month = month;
m_day = day;
m_year = year;
}
您需要包含所有要编译的源代码
g++main.cpp Date.cpp-o二进制文件
#include "Date.h"
// Date constructor
Date::Date(int year, int month, int day)
{
SetDate(year, month, day);
}
// Date member function
void Date::SetDate(int year, int month, int day)
{
m_month = month;
m_day = day;
m_year = year;
}