2013-12-14 108 views
-1

我读了几个关于这个问题的问题,但无法理解任何答案,所以我会再问一次。 我正在写一个makefile。我需要使用位于子目录中的c文件创建一些目标文件。然后使用这个对象文件在当前目录中创建一个exe文件。我怎么做?makefile与子目录

没关系,这是我已经试过

fansTest.o:map.h list.h fans.h mtm_ex2.h ./tests/fansTest.c

+1

为什么你不尝试去做,然后在你的问题发布尝试并描述为什么它不起作用?然后我们可以帮助您解决问题。 SO用于回答特定的技术问题,不提供教程。关于软件的最好的事情是尝试一些东西,看看哪些是有效的,这就是你学习的方法。 – MadScientist

+0

检查: http://stackoverflow.com/questions/231229/how-to-generate-a-makefile-with-source-in-sub-directories-using-just-one-makefil – JmRag

回答

0

只需使用相对路径您文件。例如,如果你想编译从子目录目录由source.c,使用类似:

gcc subdir/source.c 

,而不是

gcc source.c 

(显然,这应该是每一个使用你正在reffering该文件的时间我省略了makefile语法的许多方面,但我希望它很清楚)

+0

将东西像这样的工作:fansTest.o:map.h list.h fans.h mtm_ex2.h tests/fansTest.c – littlerunaway

+0

因为我不知道你的目录结构,我想这是正确的。但是,当你编译它时,你必须使用像gcc tests/fansTest.c – Paul92

+0

如果我不写gcc ......他使用默认值,这就是为什么我没有把它放在这里。好吧,“tets”是当前的一个子目录 – littlerunaway