[英]Compile Qt program on Ubuntu 18.04 which will run on Ubuntu 14.04
有趣的德萊瑪。
嘗試編譯 Qt 程序,其中 Qt 是在 18.04 64 位上從源代碼構建的,並在 14.04 上運行。 有趣的部分是試圖找出我需要這個時間,這庫。 C++ ABI 已更改。
想看看最近有沒有其他人這樣做過? 我必須攜帶哪些圖書館? 是的,我知道 ldd 和 readelf 並且已經在各種虛擬機中嘗試了幾天。 問題是一旦你開始引入 C++ 的東西(因為 ABI 再次改變了),你的 VM 將無法重新啟動。
請不要推薦 snappy、flatpak 或其他新的“容器”解決方案之一。 已經在 snappy 上浪費了 3+ 天。 它是特定於架構的,並且在 Qt 方面僅支持在 14.04 上構建,至少用於制作 AppImage 的 deployqt 工具是這樣。
幾年前用這個程序做了這個。 構建了一個 debian,它可以安裝在 64 位和 32 位上,適用於從 12.04 到 15.04 的每個版本,包括短暫的 .10 和奇數年版本。
我嘗試使用 C++11 標准編譯 QT,但是,它將不再使用該標准進行編譯。
不兼容的 ABI 才是真正的殺手。
它不僅僅是一個程序,因此使用 LD_LIBRARY_PATH 破解 shell 腳本會帶來相當大的困難。
欣賞見解。
謝謝你。
請始終在您仍希望應用程序運行的最舊發行版上開發應用程序。 例如,如果您希望您的應用程序在所有當前仍受支持的 Ubuntu 版本上運行,那么請在 Ubuntu 14.04 上開發您的應用程序,並且不要安裝任何比它附帶的更新的編譯器或庫。
這就是“向后兼容性”的工作原理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.