当前位置:  技术问答>linux和unix

请教Makefile 编写

    来源: 互联网  发布时间:2016-12-15

    本文导语:  文件 mian.c #include"head.h" int main() {      fun1();      fun2();      return 0; } 文件 head.h #ifndef M #define M #include void fun1(); void fun2(); #endif 文件 fun1.c #include"head.h" #include"test.c" void fun1() {       printf("this is fun...

文件 mian.c
#include"head.h"
int main()
{
     fun1();
     fun2();
     return 0;
}

文件 head.h
#ifndef M
#define M
#include
void fun1();
void fun2();
#endif

文件 fun1.c
#include"head.h"
#include"test.c"
void fun1()
{
      printf("this is fun1 !n");
      test();

}

文件 fun2.c
#include"head.h"
#include"test.c"
void fun2()
{
      printf("this is fun2 !n");
      test();
}
文件 test.c
#include
void test()
{
     printf("this is test !n");
}

文件 Makefile
#this is a test Makefile
main:main.o fun1.o fun2.o
     gcc main.o fun1.o fun2.o -o main
main.o:main.c head.h
     gcc -c main.c -o main.o
fun1.o:fun1.c head.h
     gcc -c fun1.c -o fun1.o
fun2.o:fun2.c head.h
     gcc -c fun2.c -o fun2.o
clean: 
      rm -rf *.o main 

这样写make的时候总是出错,说test重复定义。
请大家帮帮忙,看看有没有解决的办法。

|
#this is a test Makefile
main:main.o fun1.o fun2.o test.o
gcc main.o fun1.o fun2.o test.o -o main
main.o:main.c head.h
gcc -c main.c -o main.o
fun1.o:fun1.c head.h test.h
gcc -c fun1.c -o fun1.o
fun2.o:fun2.c head.h
gcc -c fun2.c -o fun2.o
test.o: test.c test.h
gcc -c test.c -o test.o
clean: 
rm -rf *.o main

|
哦,理解你的意思了,你就想让他运行成功是吧
把两句#include"test.c"都删掉,在head.h里添加
void test();然后修改makefile文件
main:main.o fun1.o fun2.o test.o
  gcc main.o fun1.o fun2.o test.o -o main
main.o:main.c head.h
  gcc -c main.c -o main.o
fun1.o:fun1.c head.h
  gcc -c fun1.c -o fun1.o
fun2.o:fun2.c head.h
  gcc -c fun2.c -o fun2.o
test.o:test.c
  gcc -c test.c -o test.o
clean:  
  rm -rf *.o main  
makefile自己手动修改,不要拷贝,不然会出问题的。
没测试过,不过这样改应该可以了,有问题再问。

    
 
 

您可能感兴趣的文章:

  • 请教:用jbuilder7编写程序时,光标显示不正确,请问怎样解决?
  • 请教各位大大 怎样编写LINUX触摸屏的驱动程序?
  • 请教在linux下用什么编写web程序比较方便?
  • 请教如何使用Java编写的Applet程序关闭浏览器??
  • 请教高手:如何用gnome/gtk编写托盘程序
  • 请教如何用JAVA编写服务程序
  • 请教用户空间编写设备驱动
  • 请教Makefile文件编写
  • 请教视频的播放软件编写。
  • 请教:想用c语言编写能使浏览器启动的一个程序?
  • 请教一个脚本编写时的问题
  • 请教makefile文件编写问题
  • 请教怎样用c*proc编写数据库程序呀?火烧眉毛了,一点基础都没有急呀!
  • 100请教:如何编写脚本,执行某个目录下的所有可执行文件,并将其输出内容重定向到某个文件。(在线等)
  • 请教一个shell的编写
  • 请教一个shell脚本的编写
  • 刚学习Java,请教关于Java的Application代码编写问题。
  • 请教一个问题,如何编写shell脚本把一个目录下每天新增的所有文件定时传到ftp上面?
  • [请教]怎样获得共享库(动态连接库)中函数的原型以便编写专用库来覆盖它?
  • 请教关于shell编写的简单问题
  • 请教根据Makefile.am自动生成Makefile的问题
  • 请教一个简单makefile的写法
  • 请教点的Makefile文件语法?
  • 请教一个makefile的问题?
  • 请教makefile的使用方法。
  • 请教下,各位作MakeFile时用Automake这个工具么
  • 急切请教一个关于makefile的问题,万分感谢。
  • 请教makefile中的 ifeq else default
  • 我是初学,请教大家gdb,dbx,makefile,cc的用法.
  • makefile请教!
  • 请教makefile中的一个规则
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教视频的播放软件编写。 iis7站长之家
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3