回复: 【Qt5 Ubuntu動態鏈結庫發佈配置問題】
#6 [笑颜 07-13 10:50]
另外,发布QML程序才是最坑的!
#7 回 yishiang0217 的帖子 [笑颜 07-13 10:55]
yishiang0217:笑顏大大您好,
呈上一則回覆您的留言後,我緊接著又將/home/james/Qt/5.9.1/gcc_64/plugins/xcbglintegrations/資料夾完整複製於MyApp/目錄下(與MyApp執行檔同層),依然是不行(無qt.conf)。
....... (2017-07-13 10:49)
我并没有修改pro,也没添加qt.conf,虽然有试过,但最终还是不需要。(另外,对于自己编译的QT,出现上面的问题我并没有解决办法,因为我觉得自己编译的QT有些库的依赖关系并没有处理好,所以,会在部署到不同的机器上查找底层的库,但是不同机器的库可能版本不一样,导致引用失败)
#8 回 笑颜 的帖子 [yishiang0217 07-13 11:07]
笑颜:还有个笨办法,你把QT/lib下所有库都拷贝过去,然后一个一个的删除,发现删除不能启动了,那就是需要依赖的,把它还原,再删其他的,最后剩下来的就是需要的。 这几个单独需要依赖的也先添加进去。
(2017-07-13 10:49)
很高興收到您的回覆,您的意思是要我把/home/james/Qt/5.9.1/gcc_64/lib目錄下的所有檔案拷貝到可執行文件目錄下的lib目錄嗎?
看您提供的圖片,這4個資料夾是放在可執行文件的同級目錄嗎?
我好像缺少了imageformats目錄及qml目錄(方才才添加了xcbglintegrations目錄),我等等馬上試試,並且把原來的/plugins/platforms砍掉,希望能成功!謝謝您!
#9 回 笑颜 的帖子 [yishiang0217 07-13 11:08]
笑颜:另外,发布QML程序才是最坑的! (2017-07-13 10:50)
唉... 我暫時還沒接觸QML,想到就蛋疼~ 這個都搞不定,不敢想QML~
#10 回 笑颜 的帖子 [yishiang0217 07-13 11:26]
笑颜:我并没有修改pro,也没添加qt.conf,虽然有试过,但最终还是不需要。(另外,对于自己编译的QT,出现上面的问题我并没有解决办法,因为我觉得自己编译的QT有些库的依赖关系并没有处理好,所以,会在部署到不同的机器上查找底层的库,但是不同机器的库可能版本不一样,导致引用失 .. (2017-07-13 10:55)
謝謝您的回覆,真是太神奇了..
您沒設定-rpath的話,Qt/lib/內的文件您是放在與可執行文件同層級目錄嗎?
我其實有用別人寫好的Script拷貝相依檔案,ldd Demo是沒問題的,
但是libqxcb.so的相依庫就沒另外特別複製。
--
#!/bin/sh
DIR="$( cd "$( dirname "$0")" && pwd)"
exe="$DIR/Demo" #发布的程序名称
des=$DIR/lib #你的路径
deplist=$(ldd $exe | awk'{if (match($3,"/")){ printf("%s "),$3 } }')
sudo cp $deplist $des
--
其實只要可以穩定執行,沒產生memory leak就可以了XDDD
p.s. 我當初是至官方下載.run直接執行,沒有自己編譯Qt文件噢。且編輯平台與發布平台都是Ubuntu 16.04 LTS,也都是Virtual Box建的環境.