簡體   English   中英

在 Ubuntu 18.04 上編譯 Qt 程序,它將在 Ubuntu 14.04 上運行

[英]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.

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