-1
C++でヘッダ(.h)ファイルとソースファイル(.cpp)を理解しようとしています。私はそれを理解するための非常に簡単な例を書いた。私の操作システムはMac OSです。私はターミナルで "g ++ main.cpp"を実行します。しかし、以下のようにコンパイルエラーが発生します。アーキテクチャx86_64の未定義のシンボル:C++/hファイルと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にファイル:
#include <iostream>
#include "Date.h"
using namespace std;
int main()
{
Date d(2017, 08, 20);
cout<<"getYear="<<d.getYear()<<endl;
return 1;
}
Date.hファイル:
#ifndef DATE_H
#define DATE_H
class Date
{
private:
int m_year;
int m_month;
int m_day;
public:
Date(int year, int month, int day);
void SetDate(int year, int month, int day);
int getYear() { return m_year; }
int getMonth() { return m_month; }
int getDay() { return m_day; }
};
#endif
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;
}