我有一個32位的linux虛擬盒,我正在編譯我的Qt C++代碼。加載共享庫時出錯:libQt5Multimedia.so.5:無法打開共享目標文件:沒有這樣的文件或目錄
我正在將目標文件複製到64位的Linux機器上(32位可執行文件仍應在此PC上運行)。
構建使用動態鏈接,所以我打算開始複製我需要的Qt庫文件。我計劃通過運行程序手動執行此操作,並讓它告訴我缺少哪些lib文件+我知道我需要的許多文件,所以它不會讓我花太多時間(通常)。
所以在我的64位框目標文件夾我的文件:
Rpe
所以我跑我的可執行文件,稱爲「RPE」,並抱怨:
./Rpe: error while loading shared libraries: libQt5Multimedia.so.5: cannot open shared object file: No such file or directory
我希望這樣的事情發生,然後我將我的32位linux qt lib文件夾中的libQt5Multimedia.so.5文件複製到64位Linux機器上的目標目錄中。在我的目標文件夾,我現在有文件:
Rpe
libQt5Multimedia.so.5
我現在再次運行RPE可執行文件,我希望它抱怨不同的庫文件,但它仍然抱怨同一libQt5Multimedia.so.5
文件不被發現。
我在這裏做錯了什麼?
EDIT-1
LDD輸出:
[email protected]:~/sandbox$ ldd Rpe
linux-gate.so.1 => (0xf7731000)
libQt5Multimedia.so.5 => not found
libQt5Network.so.5 => not found
libQt5Xml.so.5 => not found
libQt5Core.so.5 => not found
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7616000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf75f9000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf744a000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7404000)
/lib/ld-linux.so.2 (0x5661f000)
[email protected]:~/sandbox$
又是什麼'ldd的'說這個庫應該從中加載? –
trojanfoe
@trojanfoe好點,添加到我的問題:) –
好吧,看起來你需要將庫添加到'/ usr/local/lib'或某個地方? – trojanfoe