##前提
私は現在c++でプログラミングをするとき
下記のようなディレクトリの構造からスタートします。
まずmain関数を記したmain.hppとmain.cppを作成してから
作りたいモジュールをmodule.hppとmodule.cppに記したあとに
まだ必要なモジュールがあるならmodule2.hppとmodule2.cppを追加して
それでもまだ必要なモジュールがあるなら上記の作業を繰り返してます。
そして最後にmakeコマンドでコンパイルして実行ファイルを作成します。
この作業はプログラミングの練習をしているぶんには問題ないと感じております
しかしgithubなどで様々なプロジェクトを眺めてみるとこの作業方法をとってる
プロジェクトを見た事がありません。
なので皆様がどのような方法でc++で作業を進めていくのかとても気になるので
"自分はこんな作業手順で作っていく"や
"自分はこんなディレクトリで作業している"
など具体的に教えていただけたらとてもうれしいです。
また具体例でなくとも"こんなキーワードで調べたら良い"や
"こんな本をを読めばわかる"などのご意見もお待ちしております
どうかご指摘やご回答をよろしくお願いします。
terminal
1. 2├── bin 3│ └── a.out 4├── include 5│ ├── main.hpp 6│ └── module.hpp 7├── makefile 8├── obj 9│ ├── main.d 10│ ├── main.o 11│ ├── module.d 12│ └── module.o 13└── src 14 ├── main.cpp 15 └── module.cpp 16 17備考1:main.hppとmain.cppはmain関数を含む処理の主軸となるファイルである。 18備考2:module.hppとmodule.cppは自作のライブラリを記載したファイルである。
ちなみにmakefileの中身は下記の通りです。
makefile
1COMPILER = g++ 2CFLAGS = -g -MMD -MP -Wall -Wextra 3 4INCLUDE = -I./include 5TARGET = ./bin/a.out 6SRCDIR = ./src 7 8SOURCES = $(wildcard $(SRCDIR)/*.cpp) 9OBJDIR = ./obj 10 11OBJECTS = $(addprefix $(OBJDIR)/, $(notdir $(SOURCES:.cpp=.o))) 12DEPENDS = $(OBJECTS:.o=.d) 13 14$(TARGET): $(OBJECTS) 15 $(COMPILER) -o $@ $^ $(LDFLAGS) 16 17$(OBJDIR)/%.o: $(SRCDIR)/%.cpp 18 -mkdir -p $(OBJDIR) 19 $(COMPILER) $(CFLAGS) $(INCLUDE) -o $@ -c $< 20 21all: clean $(TARGET) 22 23clean: 24 -rm -f $(OBJECTS) $(DEPENDS) $(TARGET) 25 26-include $(DEPENDS) 27
##補足情報(FW/ツールのバージョンなど)
os: LinuxMint18.2(Cinamon)
コンパイラ: g++ 5.4.0
make: GNU Make 4.1
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/11/29 20:13 編集