Conversation
ziobron
left a comment
There was a problem hiding this comment.
Skomentowane bezpośrednio w pliku Makefile. W razie niejasności pytaj :)
Makefile
Outdated
| CC=g++ | ||
| CFLAGS=-Wall -Wextra -Wpedantic -Werror -Iincludes | ||
| SOURCES=debug release | ||
| OBJECTS=*cpp -std=c++17 |
There was a problem hiding this comment.
-std=c++17 przerzuć do CFLAGS.
Zwyczajowo też zmienna o nazwie CFLAGS odnosi się do języka C. W C++ nazywa się ją CXXFLAGS.
CC podobnie stosuje się w C, a w C++ nazywa się ją CXX, więc możesz zmienić te nazwy :)
Pod zmienną OBJECTS umieszcza się pliki obiektowe, czyli te które są po etapie kompilacji, z rozszerzeniem* .o.
W zmiennej SOURCES umieszcza się pliki *.cpp
Makefile
Outdated
| all: $(SOURCES) | ||
|
|
||
| debug: *.cpp includes/*.hpp | ||
| $(CC) $(OBJECTS) $(CFLAGS) -g -o debug |
There was a problem hiding this comment.
Użyj też proszę zmiennych
https://stackoverflow.com/questions/3220277/what-do-the-makefile-symbols-and-mean
ziobron
left a comment
There was a problem hiding this comment.
Już jest coraz bliżej prawidłowego rozwiązania :-) jeszcze tylko drobne poprawki.
Makefile
Outdated
| @@ -0,0 +1,17 @@ | |||
| CXX=g++ | |||
| CXXFLAGS=-Wall -Wextra -Wpedantic -Werror -Iincludes -std=c++17 | |||
| $<=debug release | |||
There was a problem hiding this comment.
Zmiennej
Zmienną $@ używasz poprawnie :)
Makefile
Outdated
| CXX=g++ | ||
| CXXFLAGS=-Wall -Wextra -Wpedantic -Werror -Iincludes -std=c++17 | ||
| $<=debug release | ||
| SOURCES=*cpp |
There was a problem hiding this comment.
Aby było w pełni poprawnie to brakuje Ci kropki - *.cpp. Bez tego do zmiennej SOURCES załapałby się np taki plik jak hellocpp
|
Hej, zobacz zmiany Martyny: https://github.com/LordLukin/modern_cpp/pull/2/files |
ziobron
left a comment
There was a problem hiding this comment.
Już cele debug i release powinny przy takim kodzie działać :)
Jeszcze all i clean wymagają poprawy, bo używasz tam $<, które tak naprawdę można użyć w debug i release, ale o nie nie będę się już czepiał.
No description provided.