2 davincdada Davincdada 于 2017.09.17 20:15 提问

使用autotools自动生成Makefile时在make这一步骤出错 1C

$ ** make**
cd . && /bin/bash ./config.status Makefile depfiles
config.status: creating Makefile
config.status: executing depfiles commands
make all-am
make[1]: Entering directory '/home/zhang/hello'
gcc -DHAVE_CONFIG_H -I. -g -O2 -MT hello.o -MD -MP -MF .deps/hello.Tpo -c -o hello.o hello.c
mv -f .deps/hello.Tpo .deps/hello.Po
gcc -g -O2 -o hello hello.o

hello.o:在函数‘main’中:
/home/zhang/hello/hello.c:6:对‘hello_str’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:369: recipe for target 'hello' failed
make[1]: *** [hello] Error 1
make[1]: Leaving directory '/home/zhang/hello'
Makefile:273: recipe for target 'all' failed
make: *** [all] Error 2

我的三个源文件是:hello.c / common.c / common.h

问题好像显示文件之间不能建立链接,才会出现函数未定义的问题。但自己试了很多次都无果,故求助各位大虾,谢谢!

1个回答

devmiao
devmiao   Ds   Rxr 2017.09.17 22:51
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
在Ubuntu下使用autotools生成Makefile
相信在Linux环境下做过项目的人,都会知道Makefile的重要性。它能够帮助我们完成很多的编译工作,节约我们自己去编译的时间。Makefile的重要性这里就不在强调了!Windows下的IDE都自动生成了Makefile,因此不需要自己再去写Makefile,所以习惯了在Windows下编程的人突然在Linux下编程是不适应的。 既然Windows下能够自动生成Makefile,那么Linu
Ubuntu16.04下使用autotools生成Makefile
Ubuntu下使用autotools生成Makefile最近在网上买了一本旧书,书名《嵌入式Linux应用程序开发详解》,因为出版的时间是2006年,到现在已经过去十多年,书里的内容有些已经过时,而且书上的环境为Redhat,和我目前使用的系统环境不同(Ubuntu 16.04),因此按照书上第三章实验部分使用autotools生成Makefile过程中遇到了问题,没有生成相应的Makefile。
使用autotools自动生成makefile
转自:http://blog.csdn.net/scucj/article/details/6079052 手工写Makefile是一件很有趣的事情,对于比较大型的项目,如果有工具可以代劳,自然是一件好事。在Linux系统开发环境中,GNU Autotools 无疑就充当了这个重要角色。(在Windows系统的开发环境中,IDE工具,诸如Visual Studio,来管理项目也很方便。)
win平台automake自动生成Makefile工具(附源代码)
自己写的简易的windows平台的自动生成Makefile工具,不需要写配置文件,自动生成,支持一般的控制台项目,可以作为控制台程序开发的小工具,目前正在开发中,当前版本1.2.2。使用方法:在你的工程目录下运行automake,自动生成Makefile文件,可以使用automake -t查看打印自动生成的Makefile(不会写入文件)。第一次上传文件,求人品。
Makefile工程实践视频课程(第2季):使用Autotools自动生成Makefile
手写makefile太难了!浪费时间不说,还容易出问题!本门课程通过Autotools三剑客:automake、autoconf、libtool的使用,介绍如何使用这些工具去自动生成一个项目的Makefile:包括flat、shallow、deep等各种项目目录结构。通过掌握makefile.am变量语法以及autoconf宏的配置使用,让您能够熟练掌握去生成、维护一个项目Makefile。
Linux下Makefile的自动生成步骤
一、 Makefile 介绍 Makefile 是用于自动编译和链接的 , 一个工程有很多文件组成 , 每一个文件的改变都会导致工程的重新链接 , 但是不是所有的文件都需要重新编译 , Makefile 中纪录有文件 的信息 ,在 make 时会决定在链接的时候需要重新编译哪些文件。 Makefile 的宗旨就是 : 让编译器知道要编译一个文件需要依赖其他的哪些文件 。 当那些 依赖文件有
使用autotools工具用configure、make、make install编译安装linux工程的详细步骤
autotools是个系列工具,主要由autoconf、automake、perl语言环境和m4等组成,所包含的命令有5个: 下图是autotools使用的流程图: autotools的安装: apt-get install autoconf  automake  autotools-dev m4   autotools使用简单实例如下:
autotools —— autoconf和automake生成Makefile文件(源文件位于多个子文件夹)
http://blog.csdn.net/koala002/article/details/6370548 最近在拼接一个纯C的多核仿真器multi2sim和C++的DRAM仿真器dramsim时,用到了使用autoconf/automake自动生成Makefile,所以这里总结记录一下,以便以后方便找到。 1、首先,autoscan生成configure.s
使用autotools生成包含多文件的makefile
这里以简单的一段程序为例:/* * daemon.c * * Created on: 2012-7-13 * Author: liwei.cai */ #include #include #include #include #include #include #include int main() { pid_t pid; int i, fd; char
autotools系列工具—-自动生成Makefile
autotools系列工具—-自动生成Makefile