64 ビット OS (Ubuntu 13.04) を実行しています。私のVirtualBoxマシンには、Linux Mint 15 32ビットがあります。Qt アプリを Linux Mint 32 ビットでビルドし、ハード ドライブにインストールされたベース OS で実行したいと考えています。しかし、これをしたいとき、bashは次のように言います:
./app no such file or directory
app
それが特定のディレクトリにあり、実行可能であることは確かです(did chmod u+x app
)。
64 ビット OS で 32 ビット Qt アプリを実行することは可能ですか?
これをインストールした後:sudo apt-get install ia32-libs
新しいエラーが発生しました:
./app: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory
しかし、64 ビット OS に Qt がインストールされています。
アップデート:
私がしたことは次のとおりです(アプリをコンパイルしたマシンで-32ビットOS):
ldd ./app
そしてそれは私に与えました:
linux-gate.so.1 => (0xb7775000)
libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xb75b0000)
libQt5Widgets.so.5 => /usr/lib/i386-linux-gnu/libQt5Widgets.so.5 (0xb6fa2000)
libQt5Gui.so.5 => /usr/lib/i386-linux-gnu/libQt5Gui.so.5 (0xb6bc3000)
libQt5Core.so.5 => /usr/lib/i386-linux-gnu/libQt5Core.so.5 (0xb6790000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb66a7000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6664000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb6647000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6493000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb648e000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb6475000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb645a000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb640a000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb6308000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb61d1000)
libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb61a8000)
libGL.so.1 => /usr/lib/i386-linux-gnu/mesa/libGL.so.1 (0xb614f000)
libicui18n.so.48 => /usr/lib/i386-linux-gnu/libicui18n.so.48 (0xb5f7b000)
libicuuc.so.48 => /usr/lib/i386-linux-gnu/libicuuc.so.48 (0xb5e15000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb5e0c000)
/lib/ld-linux.so.2 (0xb7776000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb5e05000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb5dc4000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb5da2000)
libglapi.so.0 => /usr/lib/i386-linux-gnu/libglapi.so.0 (0xb5d8a000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb5d78000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb5d74000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb5d6d000)
libX11-xcb.so.1 => /usr/lib/i386-linux-gnu/libX11-xcb.so.1 (0xb5d6a000)
libxcb-glx.so.0 => /usr/lib/i386-linux-gnu/libxcb-glx.so.0 (0xb5d51000)
libxcb-dri2.so.0 => /usr/lib/i386-linux-gnu/libxcb-dri2.so.0 (0xb5d4c000)
libXxf86vm.so.1 => /usr/lib/i386-linux-gnu/libXxf86vm.so.1 (0xb5d46000)
libdrm.so.2 => /usr/lib/i386-linux-gnu/libdrm.so.2 (0xb5d39000)
libicudata.so.48 => /usr/lib/i386-linux-gnu/libicudata.so.48 (0xb4bc8000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb4bc3000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb4bbc000)
これらのファイルを 32 ビット マシンで見つけて、すべてをコピーし、実行可能ファイルもコピーしたので、次のようなディレクトリ階層ができました。
私が持っているディレクトリには、platforms
libqlinuxfb.soとlibqxcb.soしかありません。64ビットOSで実行しようとしたとき、次のことを行いました。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
その後:
ldd ./app
linux-gate.so.1 => (0xf77b4000)
libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf75e3000)
libQt5Widgets.so.5 (0xf6fd5000)
libQt5Gui.so.5 (0xf6bf6000)
libQt5Core.so.5 (0xf67c3000)
libstdc++.so.6 (0xf66da000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf6697000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf667a000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf64c6000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf64c1000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf64a8000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf648d000)
libgobject-2.0.so.0 (0xf643d000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xf633b000)
libX11.so.6 (0xf6204000)
libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xf61db000)
libGL.so.1 => /usr/lib32/nvidia-310/libGL.so.1 (0xf60fb000)
libicui18n.so.48 (0xf5f27000)
libicuuc.so.48 (0xf5dc1000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf5db8000)
/lib/ld-linux.so.2 (0xf77b5000)
libffi.so.6 (0xf5db1000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xf5d70000)
libxcb.so.1 (0xf5d4d000)
libnvidia-tls.so.310.44 => /usr/lib32/nvidia-310/tls/libnvidia-tls.so.310.44 (0xf5d49000)
libnvidia-glcore.so.310.44 => /usr/lib32/nvidia-310/libnvidia-glcore.so.310.44 (0xf4027000)
libXext.so.6 (0xf4015000)
libicudata.so.48 (0xf2ea4000)
libXau.so.6 (0xf2e9f000)
libXdmcp.so.6 (0xf2e98000)
今私が得たエラー:
Failed to load platform plugin "xcb". Available platforms are:
linuxfb
xcb
Aborted (core dumped)