0
當編譯使用MinGW的彙編輸出包含行什麼圖書館在GCC彙編輸出的__main函數引用
call __main
什麼庫是這個從空的C程序?我希望鏈接msvcrt.dll
工作(鏈接使用ld
),但它沒有,它必須在其他地方定義。
其他地方有很多相關/實際上相同的問題,但他們都沒有(就我所見,一直在尋找一段時間)實際上包含了這個問題的答案,所以請仔細檢查,然後再標記爲重複。
當編譯使用MinGW的彙編輸出包含行什麼圖書館在GCC彙編輸出的__main函數引用
call __main
什麼庫是這個從空的C程序?我希望鏈接msvcrt.dll
工作(鏈接使用ld
),但它沒有,它必須在其他地方定義。
其他地方有很多相關/實際上相同的問題,但他們都沒有(就我所見,一直在尋找一段時間)實際上包含了這個問題的答案,所以請仔細檢查,然後再標記爲重複。
__main
應該由MinGW編譯器附帶的libgcc
庫提供。
如果您使用編譯器驅動程序(即,gcc
命令行工具)來鏈接您的程序,而不是直接調用ld
,則應該將該庫自動添加到鏈接中。對於這個和其他幾個原因,建議使用編譯器驅動程序進行鏈接。
具體取決於您擁有的MinGW的版本以及它嵌入的GCC的版本,libgcc
或其中的一部分可能是一個DLL,如果您運送的是MinGW編譯的可執行文件,則必須將其捆綁。
我不確定(這是爲什麼這是一個註釋,而不是答案),但它應該在'libgcc'或'libgcc_s'中,它們都應該與MinGW編譯器一起提供。我也不知道MinGW環境中有什麼擴展。如果使用編譯器驅動程序進行鏈接,而不是直接調用'ld',則應自動選取這些庫;由於其他幾個原因,這是一個好主意。 – zwol
@zwol工作!謝謝,隨時發表我可能接受的答案 – rtpax