2013-06-27 6 views
-2

Я создаю файл make для моей программы. Основная информация о: twitServer.cpp и его использование: Command.h Client.hКомпиляция и компоновка программы C++ - make file

Я построил файл make и, похоже, не работает. Можете ли вы помочь мне разобраться?

twitServer: twitServer.o Command.o Client.o 
    g++ -Wall -o twitServer.o Command.o Client.o twitServer 

twitServer.o: twitServer.cpp Command.h Client.h 
    g++ -c -Wall twitServer.cpp 

Command.o: Command.cpp Command.h 
    g++ -c -Wall Command.cpp 

Client.o: Client.cpp Client.h 
    g++ -c -Wall Client.cpp 

clean: 
    rm twitServer Client.o Command.o Client.o 

Моя Ошибка: г ++: не twitServer: Нет такого файла или каталога

Хотя я получил все эти файлы: client.cpp Client.o command.h Makefile twitServer.cpp client.h Command.cpp command.o Makefile ~ twitServer.o

+0

Просьба немного уточнить, что «похоже, не работает». Вы получаете ошибки? –

+0

У вас есть специальные символы TAB в начале команд? (до g ++). Какое сообщение об ошибке вы получаете при попытке запустить этот make-файл? – ondrejdee

+0

Это ошибка: g ++: twitServer: Нет такого файла или каталога –

ответ

1

Этот:

g++ -Wall -o twitServer.o Command.o Client.o twitServer 

неправ. Вы не хотите, чтобы компилятор выводил на twitServer.oи ссылку twitServer файл, не так ли? Эти два должны быть перевернуты следующим образом:

g++ -Wall -o twitServer Command.o Client.o twitServer.o 
+0

Спасибо, но теперь после исправления я пытаюсь запустить программу и получить: twitServer: команда не найдена –

+0

@fgfjhgrjrerjhm Читать мои комментарии к другому ответу или мне нужно повторить их здесь? –

1

Изменить положение -o флага:

twitServer: twitServer.o Command.o Client.o 
    g++ -Wall twitServer.o Command.o Client.o -o twitServer 
+0

Спасибо, но теперь я получаю: twitServer: команда не найдена При попытке запустить программу –

+2

@fgfjhgrjrerjhm './twitServer' –

+0

Почему? Как я могу заставить его работать без ./? –

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