懒之圣帝
Makefile怎么写?

Makefile.am:

edm3 : main.o scene.o battlerbase.o battle.o

g++ -o edm3 main.o

main.o : main.cpp battlerbase.h scene.h

g++ -c main.cpp

scene.o : scene.cpp scene.h

g++ -c scene.cpp

battlerbase.o : battlerbase.cpp battlerbase.h

g++ -c battlerbase.cpp

battle.o : battle.cpp battle.h

g++ -c battle.cpp

clean :

rm main.o scene.o battlerbase.o battle.o

终端输出:
[otakuchiyan@localhost EDM3]$ tree -s

.

├── [ 2005] Readme.txt

├── [ 649] battle.cpp

├── [ 439] battle.h

├── [ 496] battlerbase.cpp

├── [ 964] battlerbase.h

├── [ 7501] edm3

├── [ 51582] edm3tree.png

├── [ 620] main.cpp

├── [ 281] makefile.am

├── [ 631] scene.cpp

└── [ 638] scene.h

0 directories, 11 files

[otakuchiyan@localhost EDM3]$ make

make: *** ターゲットが指定されておらず, makefile も見つかりません. 中止.

[otakuchiyan@localhost EDM3]$ make makefile.am

make: `makefile.am' に対して行うべき事はありません.

[otakuchiyan@localhost EDM3]$ make makefile

make: *** ターゲット `makefile' を make するルールがありません. 中止.

[otakuchiyan@localhost EDM3]$ make makefile.am

make: `makefile.am' に対して行うべき事はありません.

[otakuchiyan@localhost EDM3]$ make

make: *** ターゲットが指定されておらず, makefile も見つかりません. 中止.

[otakuchiyan@localhost EDM3]$ make makefile

make: *** ターゲット `makefile' を make するルールがありません. 中止.

[otakuchiyan@localhost EDM3]$

怀疑是不是文件名出了问题。。。

辛子喵
则默认执行第一个条件项目
展开Biu

还有,只写$make 则默认执行第一个条件项目

[查看全文]
辛子喵
文件的写法
展开Biu

makefile文件的写法:

首先文件名命名为makefile或者Makefile

添加文件内容如下:

加载项:依赖项

语句块

举例如下:

demo:clean

gcc main.c shell.c -o main

clean:

rm -f *.o

rm -f main 2>>/dev/null

@demo2:

gcc -c main.c

在命令行。执行$make clean

则显示并执行 rm -f *.o和 rm -f main 2>>/dev/null

若$make demo 则先执行clean依赖项,后执行语句,

若$make demo2 则只执行demo2的语句块,但并不显示。这里@表示不在shell终端显示命令详情。

[查看全文]
sysu_霸气的霸霸
日语版略犀利
展开Biu

日语版略犀利。。。看不懂的感觉

[查看全文]
tyroach
难道不需要把所有的
展开Biu

难道不需要把所有的.O文件都加上吗?

edm3 : main.o scene.o battlerbase.o battle.o

g++ -o edm3 main.o scene.o battlerbase.o battle.o

GCC也不熟,枉自猜测

[查看全文]
foodszhu
本帖最后由
展开Biu

本帖最后由 foodszhu 于 2013-5-19 18:11 编辑

记得你以前问过一些gcc有关的问题吧。。。没什么改进啊。。。g++ 文件 -o 输出。。。。你这为什么还是要把-o放前面呢

  • edm3 : main.o scene.o battlerbase.o battle.o
  • g++ main.o -o edm3

edm3

还有你这个日语版的略犀利。。。

[查看全文]
懒之圣帝
文件不要后缀名的吧
展开Biu

langyxxl 发表于 2013-5-19 11:40

makefile文件不要后缀名的吧

make不加参数默认编译all的那行

Makefile:

edm3 : main.o scene.o battlerbase.o battle.o \

g++ -o edm3 main.o

main.o : main.cpp battlerbase.h scene.h \

g++ -c main.cpp

scene.o : scene.cpp scene.h \

g++ -c scene.cpp

battlerbase.o : battlerbase.cpp battlerbase.h \

g++ -c battlerbase.cpp

battle.o : battle.cpp battle.h \

g++ -c battle.cpp

clean : \

rm main.o scene.o battlerbase.o battle.o

终端:
[otakuchiyan@localhost EDM3]$ make

makefile:2: *** 分離記号を欠いています. 中止.

[otakuchiyan@localhost EDM3]$ make

makefile:4: *** 分離記号を欠いています. 中止.

[otakuchiyan@localhost EDM3]$ make

makefile:12: *** 分離記号を欠いています. 中止.

[otakuchiyan@localhost EDM3]$ make

make: *** `main.o' に必要なターゲット `g++' を make するルールがありません. 中止.

[otakuchiyan@localhost EDM3]$

`main.o' に必要なターゲット `g++' を make するルールがありません?不科学啊。

[查看全文]
langyxxl
文件不要后缀名的吧
展开Biu

makefile文件不要后缀名的吧

make不加参数默认编译all的那行

[查看全文]
可乐°
你写的是什么
展开Biu

你写的是什么

[查看全文]