簡體   English   中英

沒有規則可以制作“Main”所需的目標“Main.o”。 停止

[英]no rule to make target 'Main.o', needed by 'Main' . Stop

注意:與其他問題不同,這個問題缺少 obj 文件而不是 cpp 文件

我有一個名為 /Profiler 的目錄,其中包含以下文件:

  • 主文件
  • 繪圖.cpp
  • Draw.h(用於兩個 cpp 文件)
  • Makefile

我創建了以下 Makefile:

CC := g++
CCOPTS=-Wall -Wextra -O3 -std=c++17

Main_DEP_OBJ := Main.o Draw.o
Header:=Draw.h

all: main

%.o: %.C DEPS $(Header)
    $(CC) ${CCOPTS} -c -o $@ $<

Main: $(Main_DEP_OBJ)
    ${CC} ${CCOPTS} -o main $^

clean:
    rm -f Main *.o

在 Ubuntu 中使用make命令給了我這個錯誤:

no rule to make target 'Main.o', needed by 'Main'. Stop.

您沒有 Main 的目標規則,也沒有來自 .cpp 文件的 building.o 文件。

CC := g++
CCOPTS=-Wall -Wextra -O3 -std=c++17

Main_DEP_OBJ := Main.o Draw.o
Header:=Draw.h

all: Main 

%.o: %.cpp $(Header)
    $(CC) ${CCOPTS}  -c -o $@  $<

Main: $(Main_DEP_OBJ)
    ${CC} ${CCOPTS} -o Main $^

clean:
    rm -f Main *.o

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM