簡體   English   中英

代碼::具有MinGW鏈接的塊失敗

[英]Code::Blocks with MinGW linking fail

我在32位Windows 7上將Code :: Blocks(13.12版)與MinGW(4.7.1版)配合使用。

嘗試構建我的項目時,在編譯步驟后出現以下錯誤:

Execution of 'mingw32-g++.exe  -o cb_dlv.exe
...huge list of *.o files...
in 'D:\Workspace\cb_dlv' failed.

工具鏈可執行文件當然沒有問題,因為我的其他項目可以很好地進行編譯和鏈接,並且所有工具都位於正確的位置。 cmd可以看到mingw32-g++.exe ,因此PATH變量沒有問題。 清理工作空間似乎也無濟於事。 我已經嘗試過移動項目文件,以便該路徑中沒有空格,但這也無濟於事。 以及重新打開/重新安裝/重新啟動。

有什么建議么?

既然找到了解決方案,就可以了。

主要問題是在Windows 7上,命令行長度的限制約為32K個字符。 MinGW編譯器和鏈接器在構建包含大量文件的項目時達到了該限制。 這是MinGW使用的Windows API的基本限制。

解決方案:以您喜歡的任何方式縮短命令行:將一些文件合並到一個文件中,將項目分成多個文件,使用長名稱重命名子目錄,等等。

您是否已將項目設置為使用自定義生成文件? 您的構建系統變量是什么? 目標文件在D:\\ Workspace \\ cb_dlv中可用嗎? 那是您的編譯日志的唯一輸出,還是在它之前還有其他輸出? 您項目的構建目標是否合理設置?

在最后一個鏈接階段發生之前,您應該看到生成系統日志,它正在將c / c ++文件編譯為目標文件,例如:

mingw32-g++.exe -c D:\Workspace\cb_dlv\file.c -o D:\Workspace\cb_dlv\obj\Debug\file.o

請進一步完善這個問題,我可能會為您提供幫助。

暫無
暫無

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

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