teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2017/11/03 12:18

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,8 +1,10 @@
1
1
  実装ファイルがコンパイルされていないからです。
2
2
  ```
3
- g++ -g -O0 -o main main.cpp calc.cpp
3
+ g++ -g -O0 -o main main.cpp calc.cpp -Wall
4
4
  ```
5
5
 
6
+ ついでにWallオプションも付けて、警告を敏感に出すようにしています。
7
+
6
8
  ---
7
9
  > 定義が書かれていないヘッダをincludeしてなんで使えるようになるんですか?
8
10
 

1

追記

2017/11/03 12:18

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -13,7 +13,7 @@
13
13
  文法上のエラーを見つつ、オブジェクトファイルを作ります。
14
14
  その際、コンパイラはヘッダなどの情報を、言うなれば『盲信』します。
15
15
  - **リンク**
16
- オブジェクトファイル同士を結び付ける処理です。
16
+ オブジェクトファイルやライブラリを結び付ける処理です。
17
17
 
18
18
  ご提示のコマンドでは、calc.cppのオブジェクトファイルが作られていません。
19
19
  ですので、コンパイルは通っていますが**リンクエラー**を引き起こしています。