1. ホーム
  2. gcc

[解決済み】gcc makefileのエラー。"No rule to make target ..." (ターゲットを作るルールがない)

2022-01-25 05:56:34

質問

GCC (linux) を使って、makefile でプロジェクトをコンパイルしようとしています。

この文脈では解読できないような次のようなエラーが発生します。

"No rule to make target 'vertex.cpp', needed by 'vertex.o'.  Stop."

これがmakefileです。

a.out: vertex.o edge.o elist.o main.o vlist.o enode.o vnode.o
    g++ vertex.o edge.o elist.o main.o vlist.o enode.o vnode.o

main.o: main.cpp main.h
    g++ -c main.cpp

vertex.o: vertex.cpp vertex.h
    g++ -c vertex.cpp

edge.o: edge.cpp edge.h
    g++ -c num.cpp

vlist.o: vlist.cpp vlist.h
    g++ -c vlist.cpp

elist.o: elist.cpp elist.h
    g++ -c elist.cpp

vnode.o: vnode.cpp vnode.h
    g++ -c vnode.cpp

enode.o: enode.cpp enode.h
    g++ -c node.cpp

解決するには?

というファイルを持っていないのが原因です。 vertex.cpp を作成することができます。それを確認してください。

  • というファイルが存在します。
  • を作るときに、正しいディレクトリにいることを確認します。

それ以外には、特に提案することはありません。もしかしたら、そのディレクトリの一覧を教えてくれるかもしれません。