2010-03-23 56 views
0

我構建了我的qt應用程序,以便它使用的所有Qt模塊都與可執行文件包含在同一個目錄中。它在我用來構建應用程序的機器上工作,我確保通過除去應用程序的當前目錄中除了那些共享庫之外的地方來測試它。做一個ldd表明它在當前目錄中查找這些庫並將自己的可執行文件本身打開時無法打開exectuable。所以這一切都很好,但是當我將這個目錄傳輸到主機時,它仍然無法找到這些庫。可能是什麼問題呢?從一個主機到另一個主機的共享庫路徑不一致

回答

2

是「。」在第二臺機器上的LD_LIBRARY_PATH中?
你對庫文件有正確的權限嗎?

+0

這樣做的技巧謝謝:D – 2010-03-23 18:44:10

+0

有沒有一種方法讓我自動設置此路徑而無需用戶干預,例如,無論用戶何時從桌面啓動程序或內置命令,都會修改LD_LIBRARY_PATH。我希望用戶能夠安裝該程序,方法是簡單地將目錄複製到任何他想要的地方,而不用修改他的登錄腳本和其他東西。 – 2010-03-23 18:47:31

+1

在Unix上沒有做太多的應用程序部署,你需要確保「。」至少在執行路徑上。可能需要考慮製作一個合適的RPM/DEB來將.so放在系統中,而不是讓用戶編輯路徑。 – 2010-03-23 19:06:39

相關問題