[英]How to deploy a Qt app with all dll files in other linux platform?
我在 linux os 中使用 Qt Creator 創建了一個 Web 瀏覽器。 我必須在另一個也有 linux 操作系統的系統上運行這個瀏覽器。 而且我不想在其他系統中安裝 Qt Creator。 我希望我的瀏覽器應該獨立運行。 使用 build 我創建了瀏覽器,但是當我運行 .exe 文件時,它顯示未找到 .dll 文件。 所以,我想知道如何將我的應用程序與庫綁定。 謝謝。
要創建 .deb 包,您可以根據需要調整我的方法。
/!\\ 您必須使用與 qt5-default 兼容的工具包來構建您的程序
創建一棵樹,例如:
package_folder
|-DEBIAN
|-control (a file)
|-postinst (bash script)
|-opt
|-your_binary (your app binary)
|-usr
|-bin
|-share
|-application
|-package_folder.desktop (to create a shortcut)
控制文件:
Package: regexp-testor
Version: 1.0
Section: devel
Priority: optional
Architecture: amd64
Depends: qt5-default
Maintainer: thibsc <mail@mail.com>
Homepage: https://github.com/thibsc
Description: RegExp testor
RegExp testor is a regular expression testor like the rubular.com website.
postinst 腳本:
#!/bin/bash
echo "Create a symbolic link towards the binary"
sudo ln -s /opt/regexp_testor/regexp_testor /usr/bin
echo "Enjoy ;)"
package_folder.desktop 文件:
[Desktop Entry]
Version=1.0
Type=Application
Name=RegExp testor
GenericName=RegExp testor
Comment=A regular expression testor like the rubular.com website
Exec=/opt/regexp_testor/regexp_testor
Terminal=false
MimeType=text/plain;
Icon=regexp_testor_icon
Categories=Development;
StartupNotify=true
然后將您置於 package_folder 的級別並運行sudo dpkg-deb --build package_folder
,您應該准備好使用 .deb 包。
編輯:
您還可以使用debpac生成數據包。
您正在尋找的正是您的標題所說的,它被稱為“部署”, Qt wiki 可以幫助您。
首先出現問題的原因是,當您在系統上構建應用程序時,它會動態鏈接到您系統上特定路徑中的 Qt .so
文件,而另一台計算機上顯然缺少這些文件,因此動態鏈接器拋出錯誤。 一種不使用工具的方法是實際分發帶有二進制文件的必要.so
文件,並通過在帶有RPATH
或環境變量的可執行文件中指定它來為鏈接器提供它們的路徑。 我提供的鏈接中的工具應該為您創建一個包,其中包含鏈接器可以在需要時組合的可執行文件和庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.