提示コードなのですが下記の問題のコードのコードですが ar rc コマンドはlinux専用でありwindowsでは存在しませんその場合どうやってlibファイルを作成するにはどういったコマンドを使うのでしょうか? 調べましたがvisual studio のやり方しか出てきません。自分はmakefileを使ったやり方が知りたいです。コンパイラはG++を使いたいです。
環境:windows10
参考サイト: https://www.yunabe.jp/docs/static_library.html
問題のコード
makefile
1$(STATIC_LIB): $(FRAMEWORK_OBJ) 2 ar rc $@ $^ 3 ranlib $@ 4
makefile
1PRG :=program 2STATIC_LIB :=FrameWork.a 3FRAMEWORK_SRC_DIR :=FrameWork/source/ 4GAME_SRC_DIR :=Game/source/ 5FRAMEWORK_OBJ_DIR :=FrameWork/obj 6GAME_OBJ_DIR :=Game/obj 7 8FRAMEWORK_DEP_DIR :=$(FRAMEWORK_OBJ_DIR) 9GAME_DEP_DIR :=$(GAME_OBJ_DIR) 10 11 12FRAMEWORK_SRC :=$(wildcard $(FRAMEWORK_SRC_DIR)/*.cpp) 13GAME_SRC :=$(wildcard $(GAME_SRC_DIR)/*.cpp) 14 15 16FRAMEWORK_OBJ :=$(addprefix $(FRAMEWORK_OBJ_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(FRAMEWORK_SRC)))) 17GAME_OBJ :=$(addprefix $(GAME_OBJ_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(GAME_SRC)))) 18 19FRAMEWORK_DEP :=$(wildcard $(FRAMEWORK_DEP_DIR)/*.d) 20GAME_DEP :=$(wildcard $(GAME_DEP_DIR)/*.d) 21 22 23 24$(PRG): $(GAME_OBJ) $(STATIC_LIB) 25 $(CXX) $(GAME_OBJ) -o $@ -ldl -lGLESv2 -lassimp -L -l $(STATIC_LIB) -L/usr/local/lib -lGLU -lGL -lglfw3 -pthread -lGL -lGLEW -lfreetype -lX11 26 27 28$(STATIC_LIB): $(FRAMEWORK_OBJ) 29 ar rc $@ $^ 30 ranlib $@ 31 32 33$(FRAMEWORK_OBJ_DIR)/%.o: FrameWork/source/%.cpp 34 $(CXX) -std=c++2a -I/usr/local/include/freetype2 -I/usr/local/include/glm -I/usr/include/libpng16 -I/usr/local/include -pthread -c -MMD -MP $< -o $@ 35-include $(FRAMEWORK_DEP) 36 37 38$(GAME_OBJ_DIR)/%.o: Game/source/%.cpp 39 $(CXX) -std=c++2a -I/usr/local/include/freetype2 -I/usr/local/include/glm -I/usr/include/libpng16 -I/usr/local/include -pthread -c -MMD -MP $< -o $@ 40-include $(GAME_DEP) 41 42clean: 43 rm -f ./$(FRAMEWORK_OBJ_DIR)/*.o *.out ./$(FRAMEWORK_OBJ_DIR)/*.d *.a $(STATIC_LIB) 44 rm -f ./$(GAME_OBJ_DIR)/*.o *.out ./$(GAME_OBJ_DIR)/*.d *.a $(PRG) 45 46 47
回答1件
あなたの回答
tips
プレビュー