读书人

makefile 多路径下编译失败解决方案

发布时间: 2012-04-26 14:01:31 作者: rapoo

makefile 多路径下编译失败
错误提示:
make: *** No rule to make target `user.c', needed by `user.o'. Stop.
请问如何才能实现多目录的编译??请指教一下,谢谢!!!
文件结构
E:.
│ makefile
│ makefile.bak
│ 新建 Microsoft Word 文档.doc

├─include
│ user.h
│ user.h.bak

└─src
app.c
app.c.bak
user.c
user.c.bak
makefile脚本

Python code
CC = g++OBJ = user.o app.o#vpath %.h /include#vpath %.c /srcVPATH=/src:/includeapp:$(OBJ)    $(CC) -o app $(OBJ)user.o:user.c    $(CC) -c user.capp.o:app.c  user.h    $(CC) -c app.cclean:    rm *.o app

inclue目录下代码
C/C++ code
//user.h#include <stdio.h>void PrintHello();

src目录代码
C/C++ code
//user.c#include "user.h"void PrintHello(){    printf("hello ,it is my makefile test\n");}

C/C++ code
//app.c#include "user.h"int main(){  PrintHello();    }


[解决办法]
探讨

引用:
对于头 必须 -I./include

能不能讲的更详细一点呢。在什么地方加 -I ./include
我另外一个问题就是已经将PATH变量加上了头文件的路径,但是没有效果

读书人网 >UNIXLINUX

热点推荐