Я новичок в Ubuntu и, следовательно, чтобы сделать файл.Я успешно создал файл make со структурой папок.Однако, если я добавлю подобную структуру, я получу сообщение об ошибке.
Я успешно выполнил команду make и запустил приложение с одним основным файлом cpp и двумя файлами (list_menu.cpp и list_menu.h) в подпапке cpp11_and_cpp14_menu
структура папок выглядит точно так, как показано ниже, где cpp11_and_cpp14.cpp имеет основную функцию.
../advancedcppproject/
cpp11_and_cpp14.cpp
Makefile
../advancedcppproject/cpp11_and_cpp14_menu
list_menu.cpp
list_menu.h
../advancedcppproject/multi_threading_example
multi_threading.cpp
multi_threading.h
Содержимое файла Make
cpp11_and_cpp14 : cpp11_and_cpp14.o ./multi_threading_example/multi_threading.o ./cpp11_and_cpp14_menu/list_menu.o
g++ cpp11_and_cpp14.o ./multi_threading_example/multi_threading.o ./cpp11_and_cpp14_menu/list_menu.o -o cpp11_and_cpp14
cpp11_and_cpp14.o : cpp11_and_cpp14.cpp ./cpp11_and_cpp14_menu/list_menu.h ./multi_threading_example/multi_threading.h
g++ -c cpp11_and_cpp14.cpp
./cpp11_and_cpp14_menu/list_menu.0 : ./cpp11_and_cpp14_menu/list_menu.cpp ./cpp11_and_cpp14_menu/list_menu.h
g++ -c ./cpp11_and_cpp14_menu/list_menu.cpp
./multi_threading_example/multi_threading.o : ./multi_threading_example/multi_threading.cpp ./multi_threading_example/multi_threading.h
g++ -c ./multi_threading_example/multi_threading.cpp
После выполнения команды make происходит сбой ссообщение об ошибке
g++ -c ./multi_threading_example/multi_threading.cpp
g++ cpp11_and_cpp14.o ./multi_threading_example/multi_threading.o ./cpp11_and_cpp14_menu/list_menu.o -o cpp11_and_cpp14
g++: error: ./multi_threading_example/multi_threading.o: No such file or directory
Makefile:6: recipe for target 'cpp11_and_cpp14' failed
make: *** [cpp11_and_cpp14] Error 1
Я ожидаю, что multi_threading.o будет создан в папке ../advancedcppproject/multi_threading_example.Однако multi_threading.o создается в ../advancedcppproject.
Где, как list_menu.o правильно создается в ../advancedcppproject/cpp11_and_cpp14_menu.
Что не так?