簡體   English   中英

Qt是否有資源系統限制?

[英]Does Qt have resource system limits?

我的Qt應用程序依賴於Oracle DLL來啟動。 由於它在大多數情況下是靜態鏈接的(除了這些DLL),我想將DLL和EXE嵌入到一個啟動器中,該啟動器的行為類似於一個完全靜態的應用程序(一個exe,沒有帶來的DLL)。

啟動程序將提取臨時目錄中包含的文件,啟動軟件,並在完成后進行清理。

我試圖使用Qt資源系統在啟動器中嵌入EXE和Oracle DLL(大約30 MB),但編譯器(MSVC 2005)失敗了

致命錯誤C1001:編譯器中發生內部錯誤。

Qt資源系統中包含的資源是否有大小限制(或者我通過在可執行文件中包含如此大的文件來濫用它)?

如果單獨拆分二進制文件將不起作用,則每個二進制文件塊使用一個資源文件。

這樣,生成的cpp文件要小得多,編譯器就能夠處理它。

我很幸運,有10 MB的塊,因此可以生成5個資源文件(一個用於未分割的DLL,另一個用於較大的DLL的塊)。

記得在使用前加入大塊!

限制來自編譯器,因為錯誤說它是INTERNAL編譯器錯誤。 因此compiller無法處理它。 您可以嘗試通過將較大的文件拆分為小部件並將它們拼湊在您的代碼中來解決它。 我不確定它是否會起作用,但值得嘗試。

資源編譯器處理Qt資源,並為每個.qrc文件生成.cpp文件。 我想你生成的.cpp文件很大(應該超過30MB)而VC編譯器就是無法編譯這么龐大的源文件。

暫無
暫無

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

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