簡體   English   中英

makefile中的循環主

[英]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.cpppair.cppmain_exec 但是我們還沒有main_exec ,它只能由 target tar_main生成...

所以tar_main是在等待別人生成main_exec並提供給它,而tar_main只能由tar_main自己生成,在你的makefile。這是一個死鎖,可以檢測到循環,make會拒絕運行這個。

暫無
暫無

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

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