複数のソースファイルに分けてプログラムを動かしたいのですが、
「一週間で身につくC++言語の基本」というサイト
(http://cpp-lang.sevendays-study.com/day2.html)
の例文をコピペしても動きません。
以下コピペ内容
main.cpp
#include <iostream>
#include "sample.h"
using namespace std;
int main()
{
CSample obj; // CSampleをインスタンス化
int num;
cout << "整数を入力して下さい:" << endl;
cin >> num;
obj.set( num ); // CSampleのメンバ変数をセット
cout << obj.get() << endl; // メンバ変数の値を出力
return 0;
}
#include "sample.h"
void CSample::set(int num)
{
m_num = num;
}
int CSample::get()
{
return m_num;
}
sample.h
#ifndef _SAMPLE_H_
#define _SAMPLE_H_
// クラス宣言
class CSample
{
public:
void set(int num); // m_numに値を設定する
int get(); // m_numの値を取得する
private:
int m_num;
};
#endif //_SAMPLE_H_
実行後のエラー内容(一部抜粋)
: undefined reference to `CSample::set(int)'
: undefined reference to `CSample::get()'
: ld returned 1 exit status
MinGWをインストールする時にバージョンの設定をミスしてしまったのかと思い、コマンドプロンプトで確認するも、今の状態が正解なのかも分かりませんでした。
以下コマンドプロンプトのバージョン確認内容
Microsoft Windows [Version 10.0.22000.556]
(c) Microsoft Corporation. All rights reserved.
C:\Users\Lenovo>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/9.2.0/lto-wrapper.exe
Target: mingw32
Configured with: ../src/gcc-9.2.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-static --enable-shared --enable-threads --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --enable-libgomp --disable-libvtv --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --disable-build-format-warnings --prefix=/mingw --with-gmp=/mingw --with-mpfr=/mingw --with-mpc=/mingw --with-isl=/mingw --enable-nls --with-pkgversion='MinGW.org GCC Build-2'
Thread model: win32
gcc version 9.2.0 (MinGW.org GCC Build-2)
C:\Users\Lenovo>g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/9.2.0/lto-wrapper.exe
Target: mingw32
Configured with: ../src/gcc-9.2.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-static --enable-shared --enable-threads --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --enable-libgomp --disable-libvtv --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --disable-build-format-warnings --prefix=/mingw --with-gmp=/mingw --with-mpfr=/mingw --with-mpc=/mingw --with-isl=/mingw --enable-nls --with-pkgversion='MinGW.org GCC Build-2'
Thread model: win32
gcc version 9.2.0 (MinGW.org GCC Build-2)
C:\Users\Lenovo>
お力を貸して頂ければ幸いです。
宜しくお願いいたします。
[環境]
os:win11, 64 bit
コンパイラ名:MinGW-gcc
コードエディタ:VSCode