1

我正在运行 64 位操作系统(Ubuntu 13.04)。在我的 VirtualBox 机器上,我有一个 Linux Mint 15 32 位。我在 Linux Mint 32 位上构建我的 Qt 应用程序,现在想在我的基本操作系统上运行它,安装在我的硬盘上。但是当我想这样做时,bash 说:

./app no such file or directory

我确定它app在给定的目录中,并且是可执行的(did chmod u+x app)。

是否可以在 64 位操作系统上运行 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 位操作系统上安装了 Qt!

更新:

这是我所做的(在我编译应用程序的机器上 - 32位操作系统):

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 位操作系统上运行它时,我做了:

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)
4

0 回答 0