[英]Circular main in makefile
當我用我寫的 Makefile 運行“make”時,它說“Circular main <- main dependency dropped.” 如何解決?
main: main main.cpp pair.cpp
g++ -o main main.cpp pair.cpp
generate:
g++ -shared -fPIC -o libpair.so pair.cpp
clean:
rm main.exe
main: main main.cpp pair.cpp
g++ -o main main.cpp pair.cpp
您的 makefile 中的main
太多,請確保您知道第一個main
是目標名稱,第二個是“其他東西”生成的可執行文件。
tar_main: main_exec main.cpp pair.cpp
g++ -o main_exec main.cpp pair.cpp
假設我們將您的 makefile 修改為這樣以識別兩個市電。 在這里,要生成目標tar_main
,make 需要main.cpp
、 pair.cpp
和main_exec
。 但是我們還沒有main_exec
,它只能由 target tar_main
生成...
所以tar_main
是在等待別人生成main_exec
並提供給它,而tar_main
只能由tar_main
自己生成,在你的makefile。這是一個死鎖,可以檢測到循環,make會拒絕運行這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.