2013-06-03 2 views
0

Мне поручено адаптировать файл плиты котла из учебника для использования с моим проектом. У меня есть 3 исходных файла, Item.cpp Main.cpp и Item.h, и, конечно, makefile.Создание Makefiles для VC++ с более чем одним файлом cpp

Я убежден, что аргументы в пользу того, что мой файл не работает правильно, имеют более одного исходного файла, где в качестве примера был только один (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. 

Я просмотрел какую-то информацию о сделать файлы, но большинство C++ является г ++ связаны и никто, кажется, по-настоящему использовать файлы сделать больше, и просто позволяет их 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) 

ответ

0

Проблема вы столкнулись в том, что у вас нет исходного файла «Assignment01.cpp», но, соответствующий .obj файл указан в вашем Makefile. Кажется, у вас есть два исходных файла. Итак, просто перечислите два соответствующих объектных файла (Item.obj Main.obj) в свой оператор ссылки.

Пример выглядит следующим образом:

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

Вы должны проверить это в вашей среде. Я просто набрал это.

Удачи.

Смежные вопросы