簡體   English   中英

如何在Eclipse中鏈接大型C ++-Project

[英]How to link large C++-Project in Eclipse

我目前在公司中從事一個非常大的C ++項目。 我的工作是為項目的某些部分構建代碼生成器。 該項目在基於Eclipse的Kinetis Design Studio 3.0.0中進行管理。 使用的編譯器是GNU ARM C / C ++交叉編譯器1.12.1

現在我的問題是:隨着生成器創建的文件數量增加,突然出現錯誤消息:

arm-none-eabi-g++: error: ./00_Hmi/FontsHandler/SEGE_UI_11B.o: No such file or directory
make: *** [CDSB_AutoGen.elf] Error 1

當鏈接器嘗試將所有目標文件鏈接到最終二進制文件時,將彈出該消息。 鏈接器找不到的文件確實存在。 如果我從構建中排除某些文件,錯誤消失(顯然,我必須修復依賴於那些文件的某些包含和部分代碼)。 我排除哪些文件似乎無關緊要。 我可以包括所有生成的文件,而排除其他一些文件。 我在這里發現鏈接器具有可以在命令行中傳遞的最大目標文件數。 我找不到GCC C ++-Linker的限制,但我相信這可能是問題所在。 編譯器創建了約160個目標文件,但是我不確定在最終鏈接階段是否全部使用了它們。 我不是make或Eclipse如何處理這些事情的專家。 但是,如果我的猜測是正確的:有什么辦法告訴鏈接器使用所有Object文件嗎?

編輯:我重命名了包含大多數文件的文件夾。 鏈接器命令變得更短,現在可以正常工作了。 我可能必須使用較短的文件名或將某些.cpp文件打包在一起。

您還可以在構建過程結束時將項目結構重組,並將源砍成一堆鏈接在一起的靜態庫。 這將有助於減小最終鏈接命令的大小。

暫無
暫無

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

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