這是我第一次嘗試使Qt應用程序在不同的系統上工作。部署靜態鏈接的Qt應用程序向後兼容性
我選擇了靜態鏈接方法。我已經編譯了Qt 5.5的源代碼並使用靜態Qt編譯了我的應用程序。可執行文件在我的電腦上正常工作。 我的操作系統是Ubuntu 15.04。但是當我試圖在Ubuntu 14.04上運行相同的可執行文件時,我遇到了麻煩。下面給出錯誤消息的關鍵細節。
的libstdC++。so.6 cxxabi_1.3.8沒有找到
我做了一個標準的谷歌搜索,並意識到這是因爲我有它的一個新版本我的機器,我在那裏創造了機上可執行文件。有很多不同的方法來處理這個問題。我看到的一個解決方案包括將您自己的libstdc++.so
副本與可執行文件一起發送。但是,當我試圖將.so文件複製到筆式驅動器時,出現警告,指出文件系統不支持這種文件。
我的問題是,我做錯了什麼?另外,如果我想讓可執行文件以Ubuntu 10.04爲目標,那麼處理向後兼容性問題的正確過程是什麼。我知道一種方法是在我的機器上安裝相同的操作系統,然後創建可執行文件,還有其他方法嗎?
感謝您的回答,但是是否有任何標準的舊操作系統,哪些公司正在使用qt應用程序來構建舊版Ubuntu,這是我的主要疑問 –
您需要什麼兼容性?你需要什麼編譯器?你在你的應用程序中使用了哪種C++標準?這是一個非常自定義的問題。鑑於所有典型的Linux發行版都是從源代碼編譯它們的軟件包,所以這個問題沒有一般的答案。 Linux沒有針對專有軟件進行優化。 –
我想從ubuntu 10.04開始的兼容性,C++標準gnu ++ 98,抱歉沒有具體,但我早些時候認爲會有一個通用的方法去實現它。 –