我在部署將Qt庫用於ARM設備的示例應用程序時遇到了一些困難。我使用爲我的系統提供的交叉編譯器編譯這些庫,我將這些二進制文件複製到設備上,並使用相同的編譯器編譯了一個示例應用程序。當我嘗試開始時,這就是我所得到的;針對ARM設備的交叉編譯庫
/usr/lib/libstdc++.so.6:版本未找到(由./libQtNetwork.so.4需要)`CXXABI_ARM_1.3.3'
/usr/lib/libstdc++.so.6 :未找到版本'CXXABI_ARM_1.3.3'(需要./libQtCore.so.4)
什麼可能導致這種情況?我使用了製造商提供的工具鏈,所以它應該沒問題......編譯器是否正確,但它不是鏈接到它提供的libstC++,而是鏈接到我的系統中的libstdC++,在鏈接之後路徑? 謝謝!
看來,您在運行時使用的'libstdC++'版本與編譯期間工具鏈使用的版本不同。 – jschmier 2011-03-03 20:06:38
你的意思是它們是用不同的編譯器或不同的版本號編譯的?因爲工具鏈附帶的版本號與設備版本號相同,所以我認爲它也使用相同的編譯器進行編譯。所以,也許在編譯期間,我使用了正確的編譯器,但是它正在編譯x86庫。我該如何檢查並強制使用ARM庫? – 2011-03-03 23:20:51
我試圖編譯一個僅使用C++標準庫的示例應用程序,針對ARM進行交叉編譯,實際上問題依然存在。我如何強制編譯器使用ARM編譯的std庫而不是我在系統中使用的庫? – 2011-03-04 08:28:49