私はGNUmakefileについての知識が限られていますが、現時点では失敗しています。
クラス宣言ファイルmdfTree.h、クラスmdfTree.cppの実装、およびクラスmdfTreeのオブジェクトを作成し、そのパブリック関数を呼び出してプライベートメンバーを呼び出すメインのmdfTree_x.cppファイルがあります。 mdfTreeの変数。
私はそれをMakefileでコンパイルしています:
CXX=g++
CXXFLAGS=-g -Wall -W -Wconversion -Wshadow -Wcast-qual -Wwrite-strings $(shell root-config --cflags --gl\
ibs)
LDFLAGS=-g $(shell root-config --ldflags)
LDLIBS=$(shell root-config --libs)
mdfTree_x: mdfTree_x.o
g++ $(LDFLAGS) -o mdfTree_x mdfTree_x.o $(LDLIBS)
mdfTree_x.o: mdfTree_x.cpp
g++ $(LDFLAGS) $(CXXFLAGS) -c mdfTree_x.cpp
mdfTree.cppとmdfTree_x.cppにはが含ま#include mdfTree.h
れています。mdfTree_x.cppも必要#include mdfTree.cpp
ですか?
コンパイルしようとすると、クラスmdfTreeのパブリック関数が同じクラスのプライベート変数を認識できないため、Makefileが間違っていると思います。また、構文エラーをmdfTree.hに挿入すると、コンパイラはそれを取得しません。mdfTree_xがmdfTree.h/.cppを使用/コンパイルする必要があることをMakefileに伝えるにはどうすればよいですか?