使用多个cpp文件为VC ++创建Makefile

时间:2013-06-03 03:36:55

标签: c++ makefile visual-c++

我的任务是调整来自教科书的锅炉板制作文件,以便与我的项目一起使用。我有3个源文件,Item.cpp Main.cpp和Item.h,当然还有makefile。

我认为我的make文件无法正常运行的原因是有多个源文件,其中示例只有一个(Assignment1.cpp),这是产生的错误消息。

Microsoft (R) Program Maintenance Utility Version 11.00.51106.1
Copyright (C) Microsoft Corporation.  All rights reserved.

NMAKE : fatal error U1073: don't know how to make 'Assignment01.obj'
Stop.

我查看过有关make文件的一些信息,但大多数C ++都与g ++相关,似乎没有人真正使用make文件,只是让他们的IDE来处理它。

# Assignment01 makefile

!include <"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\win32.mak">
# !include <win32.mak> for Visual Studio 2010 or earlier
# Visual Studio 2012 may install this file inside C:\Program Files folder

all: Assignment01.exe

.cpp.obj:
  $(cc) $(cdebug) $(cflags) $(cvars) $*.cpp

Assignment01.exe: Assignment01.obj
  $(link) $(ldebug) $(conflags) -out:Assignment01.exe Assignment01.obj $(conlibs) 

1 个答案:

答案 0 :(得分:0)

您面临的问题是您没有源文件&#34; Assignment01.cpp&#34;但是,相应的.obj文件列在您的makefile中。好像你有两个源文件。因此,只需在链接语句中列出两个相应的目标文件(Item.obj Main.obj)。

示例如下:

Assignment01.exe: Item.obj Main.obj
  $(link) $(ldebug) $(conflags) -out:Assignment01.exe Item.obj Main.obj $(conlibs) 

您需要在您的环境中验证这一点。我只是输入了这个。

祝你好运。