質問編集履歴
1
文章を修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,68 +1,59 @@
|
|
1
1
|
###知りたいこと
|
2
|
-
|
2
|
+
1, 提示サイトを参考にコピペして自分なりに要らないものを取っ払ったのですが下記のエラーの取り方がわかりません。
|
3
3
|
2,makefileにおけるソースファイルとヘッダーファイルの関係が知りたい。
|
4
4
|
3,ヘッダーファイルを変更しても再コンパイルされない状況が発生したのですがこれはmakefileでどうやって対処したらいいのか知りたい。
|
5
|
+
4,
|
5
6
|
|
6
|
-
|
7
7
|
###質問内容
|
8
8
|
提示のmakefileですが複数のヘッダーファイルとソースファイルがあるプロジェクトでどうやったら正確にコンパイルできるのでしょうか?
|
9
9
|
ヘッダーを更新してもコンパイルされないという状況が発生したり以下のようなエラーが発生したりとどうもうまく記述できません。
|
10
|
-
参考サイトを見ると初学者の自分は見慣れない構文が多く処理が追えません。w
|
11
10
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
11
|
###参考サイト
|
24
|
-
参考サイトA: [https://www.
|
12
|
+
参考サイトA: [https://www.usagi1975.com/041620182112/](https://www.usagi1975.com/041620182112/)
|
25
13
|
|
26
|
-
|
27
|
-
参考サイトB: https://auewe.hatenablog.com/entry/2017/02/08/195625
|
28
|
-
|
29
14
|
```
|
30
15
|
$ ls
|
31
16
|
AAEditor Edit.o Entry.o Main.o Scene.o bin header lib log.txt makefile obj source
|
32
17
|
```
|
33
18
|
```Error
|
34
19
|
$ make
|
35
|
-
g++ -c header/Bit.hpp
|
36
|
-
g++ -
|
20
|
+
g++ -c -MMD -MP source/Edit.cpp source/Main.cpp source/Scene.cpp source/Entry.cpp
|
21
|
+
cc -Wall -L/usr/lib -g -fPIC %.d.o -o %.d
|
22
|
+
cc: error: %.d.o: そのようなファイルやディレクトリはありません
|
23
|
+
cc: fatal error: no input files
|
24
|
+
compilation terminated.
|
25
|
+
g++ -c -MMD -MP source/Edit.cpp source/Main.cpp source/Scene.cpp source/Entry.cpp
|
26
|
+
g++ %.o -o main
|
37
|
-
g++: error:
|
27
|
+
g++: error: %.o: そのようなファイルやディレクトリはありません
|
28
|
+
g++: fatal error: no input files
|
29
|
+
compilation terminated.
|
38
|
-
make: *** [makefile:
|
30
|
+
make: *** [makefile:19: main] エラー 1
|
31
|
+
|
39
32
|
```
|
40
33
|
|
41
34
|
```makefile
|
42
|
-
|
35
|
+
CXX =g++
|
43
|
-
|
36
|
+
CXXFLAGS = -Wall -g -fpic -I. -I/usr/include -std=c++14
|
44
|
-
|
37
|
+
LDFLAGS = -Wall -L/usr/lib -g -fPIC
|
45
|
-
SRC =source/Main.cpp source/Scene.cpp source/Edit.cpp source/Entry.cpp header/Bit.hpp #ソースファイル
|
46
38
|
|
47
|
-
|
39
|
+
LIBS = -lstdc++ -lm
|
48
|
-
|
40
|
+
LIBS2 = -lstdc++ -lm -lusb
|
49
41
|
|
42
|
+
TARGET2 = main
|
50
|
-
|
43
|
+
SRCS = source/Edit.cpp source/Main.cpp source/Scene.cpp source/Entry.cpp
|
51
|
-
|
44
|
+
OBJS :=%.o
|
45
|
+
DEPS :=%.d
|
52
46
|
|
53
|
-
|
47
|
+
TARGET1 =libhoge.so
|
54
|
-
|
48
|
+
LIBOBJS :=%.o
|
49
|
+
LIBDEPS :=%.d
|
55
50
|
|
51
|
+
# 実行ファイル作成
|
56
|
-
|
52
|
+
$(TARGET2): $(OBJS)
|
57
|
-
$(
|
53
|
+
$(CXX) $^ -o $@
|
58
54
|
|
59
|
-
Main.o: source/Main.cpp
|
60
|
-
|
55
|
+
$(OBJS): $(SRCS)
|
56
|
+
$(CXX) -c -MMD -MP $(SRCS)
|
57
|
+
-include $(DEPS) $(LIBDEPS)
|
61
58
|
|
62
|
-
Entry.o: source/Entry.cpp header/Entry.hpp
|
63
|
-
$(CC) -c $^
|
64
|
-
|
65
|
-
Clean:
|
66
|
-
rm -f *.o
|
67
|
-
|
68
59
|
```
|