CとCの両方のファイルをC++でコンパイルして、結果のバイナリファイルに作成しようとしています。私はそれがsimulated.o 『「ターゲットを作成する方法がわからない』文句「すべてが作る」ないとき.cファイルと.cppファイルのMakefileが機能しません。
CFLAGS = -Wall -fpermissive -DENV_EMBEDDED -I../utils/ -../usblib/include
CPPFLAGS = $(CFLAGS)
CXXFLAGS = $(CFLAGS)
LDFLAGS = -lmisc -lrt
PNAME=Simulator
OBJ = simulated.o \
buffer.o \
common.o
all: $(OBJ)
$(LDFLAGS) -o $(PNAME) $(OBJ)
CFLAGSとCPPFLAGS /:私のMakefileは、この(簡体字)のように見えます。 CXXFLAGSは.C/.cppファイルに自動的に依存して使用する必要があります - 権利それでは、このMakefileで間違っている可能性が
おかげ
1)これは異なる言語CやC++ではなく、makefileです。タグをスパムしないでください。 2)CはC++ではないCではない!コンパイラのCコードをC++としてコンパイルしないでください。同一の構文/文法は、同一の意味を意味するものではない。 C++プロジェクトでCモジュールを使用する場合は、C++に適切なヘッダーを指定し、CコードをCとしてコンパイルします。XY問題について質問しています。 – Olaf
makeのマニュアルを読んだことがありますか? – Stargateur
正確なエラーメッセージですか?そのメッセージのGNU Make版は「ターゲットを作成する方法を知らない」ため、使用しているMake版を知ることは有益です。 'simulated.cpp'ファイルがありますか?コマンド 'make -p -f/dev/null'(またはそれに準ずる)はルールの 'データベース'を出力します。照明の可能性のある場所で.cppルールを探します。 –