makefile吧
关注: 103 贴子: 179

Makefile,make your program

  • 目录:
  • 个人贴吧
  • 0
    熟悉gcc编译过程的都知道编译过程包括:预处理、编译、汇编、链接。但是我用Makefile实现了之后,在最后会自动删除掉 .i 与 .s文件。程序是能正常生成目标文件运行的,就是响保留 .i 与 .s 文件。或者是只能通过反汇编的方式获得.s文件吗?贴图如下。
  • 0
    纯小白,问一下 HOMEDIR = $(wildcard ~) 是什么意思呢? ~是指根目录嘛? $(wildcard ~)表征定位到根目录的路径下? HOMEDIR为我设置的根目录? 感谢
  • 1
    编译的程序都是hello world那样的简单程序.我只故意把它拆分在两个文件中 但是,为什么无论用隐含规则,还是增加模式规则,他都不编译add.c文件呢? 我希望使用上隐含规则,或者使用规则模式,怎么修改才对,PS:我用的是mingw64包.
  • 0
    使用arm-none-eabi-gcc编译arm内核的国产MCU代码,参考网上的示例自己尝试写了一下MakeFile,为什么main.o没有按照下面的命令进行编译,而startup.o和system.o就正常呢?
  • 16
    我把生成的目标文件指定了另外一个文件夹,每次make的时候总是重新全部编译,我把目标文件放在源文件同一目录下,make得时候就正常了,不会对未改动过的源文件重新编译。谁来help?
    崴燚少 12-21
  • 0
    电鱼电子教你Makefile编写 一,make和Makefile的介绍 1.1 make工具 利用make工具可以自动完成编译工作。这些工作包括: 如果仅仅修改了某几个源文件,则只重新编译这几个源文件; 如果某个头文件被修改,则重新编译所有包含该头文件的源文件。 利用这种自动编译可大大简化开发工作,避免不必要的重新编译。 1.2 Makefile make工具通过一个称为Makefile的文件来完成并自动维护编译工作。Makefile文件描述了整个工程的编译、链接等规则。 二, Makefile基本规则 T
  • 2
    请问,你们遇到过一个makefile去编译一个工程,它会每次执行时都会重新全部编译一次,其中makefile部分都是比较常规写法,先include .d 文件,然后目标all : exe exe : %.o ........ %.o : %.c ........ 差不多就这样的逻辑吧,和李云的<驾驭makefile>里差不多,但是为什么这个运用在我们公司实际的工程上就会出现每次都需要重新全部编译,我想请问下,你们知道原因吗?是因为这个工程比较大,所以依赖关系不应该这样简单的写?还是因为其他原因呢,我很纠
    崴燚少 4-18
  • 5
    之前还好好的,装完驱动后就不好用了,各位大神,快来帮帮小白
  • 2
    RT,makefile中怎么获取键盘输入,不采用调用shell的方式
  • 2
    为什么显示这些错误啊:附图function5代码 和 makefile图
  • 11
    本人小白,最近在搞gcc,遇到makefile文件,望其有自动生成软件,比较方便,工具生成的makefile相较手工makefile文件有何差异?在实际工程有没有必要自己写啊
  • 3
    有没有大神可怜一下我这个从未写过Makefile的小白,给个Makefile样例我一点一点学习。 目前是main.c , client.c client.h 三个文件。 恳请大神帮写一个Makefile文件,当然有注释的话最好啦。 万分感谢,五体投地!
  • 0
    陈浩的博客学习过,然后gnu make 中文手册也学习过。 但在我们公司的实际工程中,感觉有些makefile还是看不懂。 比如说 一些多文件编译的,还有一些带有要拉起sh脚本的,感觉没有学通透。
  • 2
    我测试了一下include命令,发现include能够正常包含并执行其他makefile,但是被包含的makefile被执行完后源makefile下的位于include命令之后的命令不再执行,不知道为什么!
    春云者 1-19
  • 1
    请问怎么编写makefile才能在编译的时候不显示命令只显示编译的文件名啊?对了,我是用通配符编译全部文件的,没有一句一句写命令。
  • 1
    PLAT ?= none PLATS = linux freebsd macosx .PHONY : none $(PLATS) all skynet clean none : @echo "Please do 'make PLATFORM' where PLATFORM is one of these:" @echo " $(PLATS)" linux : PLAT = linux macosx : PLAT = macosx freebsd : PLAT = freebsd linux macosx freebsd : @echo $(PLAT) ifeq ($(PLAT), macosx) @echo macosx $(PLAT) else @echo other $(PLAT) endif 以上为源码,下面的是执行make macosx后的输出: macosx other macosx
    揉捏斯 1-29
  • 4
    麻烦大家一下,我想问下,怎么不打印makefile所报的错误信息 我自己写了一个程序,当程序非正常结束,就会报错,怎么将错误信息不打印 ‘
    春云者 7-13
  • 0
    我就想问问感叹号是什么意思。。查了很多都没有查到。。有心人帮我回答下,万分感谢。
  • 0
    看完这张图或许各位已经大概了解了整个Project的目录结构。 \lib下存有两个.a文件 \common \sqlExec \sqlTrans下各有一个.o文件 我在\sqlTest下有一个测试test.cpp用来测试整个工程 现在make时总是报错,提示.a文件中的函数undefined reference to blabla...总之就是无法调用到,不知道是Makefile文件写挫了还是我其他地方写挫了。在此求教各位大神了。提前感谢!
    968_968 12-14
  • 0
    看完这张图或许各位已经大概了解了整个Project的目录结构。 \lib下存有两个.a文件 \common \sqlExec \sqlTrans下各有一个.o文件 我在\sqlTest下有一个测试test.cpp用来测试整个工程 现在make时总是报错,提示.a文件中的函数undefined reference to blabla...总之就是无法调用到,不知道是Makefile文件写挫了还是我其他地方写挫了。在此求教各位大神了。提前感谢!
    968_968 12-14
  • 1
    文件夹下有c.c文件 makefile文件如下 %.o : %.c gcc -c $< -o $@ 他怎么提示 make: *** No targets. Stop.
  • 0
    makefile和 头文件到底有什么关系
    keke161 10-23
  • 1
    想问下说类似$(CURDIR)这种变量是makefile的环境变量,但是该怎么查看这种变量的值呢?
  • 0
    有一堆源文件,目录机构 $ ls inc src 其中 inc 里是公开出去的头文件, src 是私有的源文件,有头文件和 cpp文件 现在要将它们编成一个 动态库(linux),请问 Makefile 怎么写. 整个编译过程需要 链接的 动态库为 -lpthread -lrt
    STM_ARM 4-21
  • 4
    我想问 假设 name :=abc 那么 $(filter $(name), abcd) 是什么? 求助大神!!!
    揉捏斯 7-6
  • 3
    YoshiSprite 2013-12
    test2
    YoshiSprite 12-26
  • 10
    嗨,欢迎来到本吧,您可以在此畅所欲言!
    YoshiSprite 12-26
  • 1
    求解:.buildpack这是什么文件?
  • 1
    .SUFFIXES: .o .c .pc .h 这句话是什么意思?我找了很多教程,都没看到这个用法的介绍,但我们公司就是用的这种方式,我表示比较郁闷
  • 0
    makefile里最简单的例子: foo = ifdef foo $(info true) else $(info false) 这里肯定是印出“false”。 ifdef只会去判断变量是否被赋值,而不会去判断变量的值是否为NULL,有没有大拿知道makefile这样设计的原因是什么? 与C语言比较,正常来说只要有申明,并不一定需要赋值,ifdef都会判断为true。
  • 5
    rt,不是中间文件,谢谢
  • 0
    以后要麻烦大家了… 希望有从编译命令开始讲的教程,应该是传给gcc的命令行参数吧…
  • 2
    文件如下:a.cpp,a.h,b.cpp a.h声明了一个类,a.cpp实现这个类的各个成员函数,b.cpp用到这个类。 我现在在a.cpp中和b.cpp的开头#include"a.h",这样可以吗? 然后,怎么写一个makefile呢?写好了makefile如何在终端使用呢?新手刚开始看比较茫然 多谢各位啦
  • 1
    KERNEL_SRC := $(shell if [ -d /usr/src/linux ]; then echo /usr/src/linux; elif [ -d /usr/src/kernels/$(shell uname -r)-i686; then echo /usr/src/kernels/$(shell uname -r)-i686; else echo /usr/src/kernels/$(shell uname -r); fi) 上段内容有误,请大家帮忙看下。实验发现if判断部分没有执行,只执行最后一句。语法有错吗?
    odbydusfh 1-14
  • 2
    吧里面的人数太少了。今天发个贴子。招集大家。
    fishand 12-10
  • 0
    Unix Linux技术 交流群17022216 创建主要为了 供爱好者交流
  • 1
       编写一个很简单的打印单个字符程序,交叉编译后,拷到板上运行,出现Segmentation fault,虚拟机下调试没有问题的,唉!      程序是:#include <stdio.h>    void main()    {      char str = 'h';      printf("%c",str);    } 拷到板上后,在超级终端下运行,出现: 不明白,请大虾指教!谢谢诶!
    7-7
  • 3
    test:test.o      gcc -o test test.o test.o:test.cpp test.h      gcc -c test.cpp clean:      rm test test.o 运行提示不知如何生成 test.cpp
    MeCaring 4-20
  • 0
    请问一个问题:我现在在SecureCRT一个Linux客户端下建立了whp目录,在whp目录下写了个 select.pc的查询功能的文件,我怎么为这个文件写一个makefile文件啊?
    yyyywhp888 6-28

  • 发贴红色标题
  • 显示红名
  • 签到六倍经验

赠送补签卡1张,获得[经验书购买权]

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!

本吧信息 查看详情>>

会员: file

目录: 个人贴吧

友情贴吧