/usr/lib/x86_64-linux-gnu/libQt5Core.so.5:找不到版本“Qt_5.7”(emulator64-x86 需要)

/usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.7' not found (required by emulator64-x86)

我编译了 android 源代码 来源./build/envsetup.sh 午餐 aosp_x86_64-eng

当我在终端中运行 emulator64-x86 时,出现错误:

emulator64-x86: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.7' not found (required by emulator64-x86)

emulator64-x86: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by emulator64-x86)

emulator64-x86: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5: version `Qt_5' not found (required by emulator64-x86)

emulator64-x86: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by emulator64-x86)

我在

中找到了 qt

/home/wanyu/work/aosp/prebuilts/android-emulator/linux-x86_64/lib64/qt/

该目录包括libQt5Core.so.5.7、libQt5Widgets.so.5.7等

但 libQt5Core.so 在

/usr/lib/x86_64-linux-gnu/

版本为 5.5

我尝试将 LD_LIBRARY_PATH 设置为:

/home/wanyu/work/aosp/prebuilts/android-emulator/linux-x86_64/lib64/

但是还是报错

正在将 libQt5Core.so.5 复制到

/usr/lib/x86_64-linux-gnu/

将解决此错误,但 qt 平台插件 libqxcb 将不起作用。

如何将 lib 路径更改为

/home/wanyu/work/aosp/prebuilts/android-emulator/linux-x86_64/lib64

当我 运行 emulator64-x86?

libQt5Core.so.5留在/home/wanyu/work/aosp/prebuilts/android-emulator/linux-x86_64/lib64/qt/。 Qt 不喜欢四处移动,它会丢失插件的存储位置。在您的情况下,它最终可能会尝试加载 Qt 5.5 插件。

LD_LIBRARY_PATH 设置为 /home/wanyu/work/aosp/prebuilts/android-emulator/linux-x86_64/lib64/qt/

使用ldd检查运行ning时将使用哪个库。

另请注意,qxcb 需要 X11 才能 运行。

对我来说,有效的方法是将所有 android 内部 qt 库复制到系统 qt 库文件夹 cp -a $ANDROID_HOME/emulator/lib64/qt/lib/. /usr/lib/x86_64-linux-gnu/

我遇到了一些同样的问题。当包含第二个库时,我得到“找不到 qt”。

添加到 .pro 的主要代码

#Add Crypto lib

    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../usr/lib/x86_64-        linux-gnu/release/ -lcrypto++
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../usr/lib/x86_64-linux-gnu/debug/ -lcrypto++
    else:unix: LIBS += -L$$PWD/../../../usr/lib/x86_64-linux-gnu/ -lcrypto++

    INCLUDEPATH += $$PWD/../../../usr/include/cryptopp
    DEPENDPATH += $$PWD/../../../usr/include/cryptopp

我解决了像第一个 ribary 那样更改路径并保存最后一句话“-lcrypto++”的问题

    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../build-ViCore-  Desktop_Qt_5_13_1_GCC_64bit-Debug/release/ -lcrypto++
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../build-ViCore-  Desktop_Qt_5_13_1_GCC_64bit-Debug/debug/ -lcrypto++
    else:unix: LIBS += -L$$PWD/../build-ViCore-Desktop_Qt_5_13_1_GCC_64bit-Debug/ -lcrypto++

    INCLUDEPATH += $$PWD/../build-ViCore-Desktop_Qt_5_13_1_GCC_64bit-Debug
    DEPENDPATH += $$PWD/../build-ViCore-Desktop_Qt_5_13_1_GCC_64bit-Debug