Makefile을 처음 사용합니다 (실제로 프로그래밍하는 것). 나는 메이크 파일을 다음했다 : -Makefile은 .o 파일이 다른 파일러에있을 때 파일이 변경되지 않아도 모든 파일을 컴파일합니다.
$ cat Makefile
VER = Debug
main: main.o Time.o
g++ Object\ Code/main.o Object\ Code/Time.o -o ../$(VER)/main
main.o: main.cpp
g++ -c main.cpp -o Object\ Code/main.o
Time.o: Time.cpp Time_.h
g++ -c Time.cpp -o Object\ Code/Time.o
clean:
rm Object\ Code/*.o
rm ../$(VER)/main
메이크 src 폴더에
$ ls && pwd
main.cpp Makefile Object Code Time.cpp Time_.h
/home/Rahul/Devlopment/WorkSpace/Test C++/src
개체 코드가 SRC의 디렉토리입니다.
$ ls ..
Debug Release src
하지만 난 그냥 하나의 파일을 변경하게 사용하려고 whenver는 모든 파일을 컴파일 : -
$ make
g++ -c main.cpp -o Object\ Code/main.o
g++ -c Time.cpp -o Object\ Code/Time.o
g++ Object\ Code/main.o Object\ Code/Time.o -o ../Debug/main
$ touch Time
Time.cpp Time_.h
$ touch Time_.h
$ make
g++ -c main.cpp -o Object\ Code/main.o
g++ -c Time.cpp -o Object\ Code/Time.o
g++ Object\ Code/main.o Object\ Code/Time.o -o ../Debug/main
$ make
g++ -c main.cpp -o Object\ Code/main.o
g++ -c Time.cpp -o Object\ Code/Time.o
g++ Object\ Code/main.o Object\ Code/Time.o -o ../Debug/main
는 완전한 멍청한 놈으로 나는 아무 생각이 없습니다. 도와주세요.
'main'은'main.o'에 의존하지 않습니다. Object Code/main.o' 등 – Matt
@Neil Butterworth가 말한 것 : 전염병과 같은 파일 이름에 공백을 두지 마십시오. – Vroomfondel