回 帖 发 新 帖 刷新版面

主题:如何用makefile编译C++程序

看了些网上介绍的用autoscan,automake生成makefile然后编译的文档,自己写了个C程序,按照步骤操作顺利编译和运行,但是当编写C++程序时就出现问题了(程序文件为test.cpp, 目标文件定义为test.o,可执行文件定义为test),操作步骤和C程序完全一致,只是在configure.in中加入了检测编译器的宏AC_PROG_CXX,在最后make时提示,无法make可执行文件test所需的目标文件test.o。看了生成的makefile文件不知道哪里出问题了,请高手指点下哪里错误,谢谢了!!!

回复列表 (共4个回复)

沙发

你做的makefile文件贴上来

板凳

#我好像也出现同样的问题,以下是Makefile文件内容

#this my first example of makefile
prog:prog.o subr.p
gcc -o prog prog.o subr.o
prog.o:prog.c prog.h
gcc -c -I -o prog.o prog.c
subr.o:subr.c
gcc -c -o subr.o subr.c
clean:
rm -f prog*.o


#以下是编译提示的错误。。。。
./Makefile: line 2: prog:prog.o: command not found
gcc: prog.o: 没有那个文件或目录
gcc: subr.o: 没有那个文件或目录
gcc: no input files
./Makefile: line 4: prog.o:prog.c: command not found
gcc: prog.o: 没有那个文件或目录
gcc: prog.c: 没有那个文件或目录
gcc: no input files
./Makefile: line 6: subr.o:subr.c: command not found
gcc: subr.c: 没有那个文件或目录
gcc: no input files

3 楼

makefile编译过程:
打开终端,进入makefile所在目录,(最好是这样,源程序文件和makefile文件最好在同一目录下),直接输入make,回车即可;
#this my first example of makefile
prog:prog.o subr.p
     gcc -o prog prog.o subr.o    //写这一行时一定要按个TAB键



4 楼

其实Makefile的学习方法很简单。找到一个可以用的Makefile,拷贝过来改一改就行了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册