1. ホーム
  2. gcc

[解決済み】gcc makefileのエラー。"No rule to make target ..." (ターゲットにするルールがありません)

2022-03-24 18:04:46

質問

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 を作成することができます。確認してみてください。

  • そのファイルが存在すること。
  • makeするときに正しいディレクトリにいる。

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