提示コードですが以下のエラーが出ます。lib_obj/Debug.o
ですが提示のフォルダ構成の通りlib_obj
とlib_src
とうディレクトリは過去にありましたが今はもう削除したのでありません。またlib/obj
とobj
ディレクトリの中身を一旦空にしてmake clean
してもう一回実行しましたが削除したはずのディレクトリを求められてしまいますこれは何が原因なのでしょうか?
Error
shigurechan@shigurechan-System-Product-Name:~/Program/test2$ make make: *** 'lib_obj/Debug.o' に必要なターゲット 'lib_src/Debug.cpp' を make するルールがありません. 中止. shigurechan@shigurechan-System-Product-Name:~/Program/test2$
フォルダ構成
├── Makefile ├── ast │ 省略 ├── lib │ ├── obj │ │ 省略 │ └── src │ ├── Console.cpp │ ├── Console.hpp │ ├── Debug.cpp │ ├── Debug.hpp │ ├── Help.cpp │ ├── Help.hpp │ ├── Input.cpp │ ├── Input.hpp │ ├── Render.cpp │ └── Render.hpp ├── log │ ├── error.txt │ └── log.txt ├── obj ├── run.sh └── src ├── Main.cpp ├── MainScreen.cpp └── MainScreen.hpp 19 directories, 268 files shigurechan@shigurechan-System-Product-Name:~/Program/test2$
makefile
1# ライブラリ 2LIB_DIR :=lib 3LIB_SRC_DIR :=lib/src 4LIB_OBJ_DIR :=lib/obj 5LIB_DEP_DIR :=lib/obj 6LIB_DEP :=$(wildcard $(LIB_DEP_DIR)/*.d) 7LIB_SRC :=$(wildcard $(LIB_SRC_DIR)/*.cpp) 8LIB_OBJ :=$(addprefix $(LIB_OBJ_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(LIB_SRC)))) $(wildcard $(LIB_OBJ_DIR)/*.o) 9LIB :=libconsole.a # ライブラリ名 10 11# プロジェクト 12SRC_DIR :=src 13OBJ_DIR :=obj 14DEP_DIR :=obj 15DEP :=$(wildcard $(DEP_DIR)/*.d) 16SRC :=$(wildcard $(SRC_DIR)/*.cpp) 17OBJ :=$(addprefix $(OBJ_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(SRC)))) 18LIB_PATH :=$(LIB_DIR)/$(LIB) # ライブラリパス 19 20PRG :=program 21 22# ライブラリ 23$(LIB_OBJ_DIR)/%.o: lib/src/%.cpp 24 $(CXX) -c -MMD -MP $< -o $@ 25-include $(LIB_DEP) 26 27$(LIB): $(LIB_OBJ) 28 ar rcs $@ $< 29 30 31 32# プロジェクト 33$(PRG): $(OBJ) 34 $(CXX) $^ -o $@ $(LIB_PATH) 35 36$(OBJ_DIR)/%.o: src/%.cpp 37 $(CXX) -c -MMD -MP $< -o $@ 38-include $(DEP) 39 40clean: 41 rm -f ./$(OBJ_DIR)/*.o *.out ./$(OBJ_DIR)/*.d $(PRG) 42
run.sh
shell
1#!/bin/bash 2 3make # コンパイル 4if [ $? = "0" ] ; then 5 ./program 6 else 7 echo 8 echo 9 10 echo " Compile Error" 11 12 echo 13 echo 14 fi 15

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。