luanshijiaxu 2024-10-12 16:39 采纳率: 100%
浏览 221
已结题

linux下qt运行QCefView demo报错

uos 1050 amd 系统用qt5.14.2版本进行开发,将QCefView 源码编译好后(QCefView目录下CefViewCore是有源码的,cef版本是129.0.11+g57354b8+chromium-129.0.6668.90),将QCefView/include与QCefView/.build/linux.x86_64/output/Release/bin文件夹放入qt demo中,pro内容(INCLUDEPATH += $${PWD}/../QCefView/include
unix {
QMAKE_LFLAGS += -Wl,--no-as-needed $${PWD}/../QCefView/linux.x86_64/Release/bin/libcef.so
LIBS += -L$${PWD}/../QCefView/linux.x86_64/Release/bin -lQCefView -lcef
}),QCefView demo是用官方的https://cefview.github.io/QCefView/zh/docs/guide/FirstProject。构建成功运行报错。

报错内容为:
[1012/162808.129850:ERROR:alloy_main_delegate.cc(776)] Could not load locale pak for en-US
[1012/162808.129990:ERROR:alloy_main_delegate.cc(785)] Could not load resources.pak
[1012/162808.130113:ERROR:alloy_main_delegate.cc(796)] Could not load chrome_100_percent.pak
[1012/162808.130253:ERROR:alloy_main_delegate.cc(805)] Could not load chrome_200_percent.pak
LaunchProcess: failed to execvp:
/home/dzp/Desktop/qt-in-action/build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug/CefViewWing
LaunchProcess: failed to execvp:
/home/dzp/Desktop/qt-in-action/build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug/CefViewWing
[1012/162808.149529:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.223940:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.225146:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.228094:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.240117:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.240215:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.240248:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.240279:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.240312:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.240344:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.240424:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.244189:WARNING:resource_bundle.cc(1208)] locale resources are not loaded
[1012/162808.257671:ERROR:extension_system.cc(67)] Failed to parse extension manifest.
DevTools listening on ws://127.0.0.1:9000/devtools/browser/8eef1de8-5eab-4ce4-aaaa-c0dd2a1cf3d8
[1012/162808.293529:ERROR:gpu_process_host.cc(1001)] GPU process launch failed: error_code=1002
[1012/162808.293614:WARNING:gpu_process_host.cc(1443)] The GPU process has crashed 1 time(s)
[1012/162808.302952:ERROR:gpu_process_host.cc(1001)] GPU process launch failed: error_code=1002
[1012/162808.303052:WARNING:gpu_process_host.cc(1443)] The GPU process has crashed 2 time(s)
[1012/162808.307347:ERROR:gpu_process_host.cc(1001)] GPU process launch failed: error_code=1002
[1012/162808.308576:WARNING:gpu_process_host.cc(1443)] The GPU process has crashed 3 time(s)
[1012/162808.312462:ERROR:gpu_process_host.cc(1001)] GPU process launch failed: error_code=1002
[1012/162808.312509:WARNING:gpu_process_host.cc(1443)] The GPU process has crashed 4 time(s)
[1012/162808.314577:ERROR:gpu_process_host.cc(1001)] GPU process launch failed: error_code=1002
[1012/162808.315348:WARNING:gpu_process_host.cc(1443)] The GPU process has crashed 5 time(s)
[1012/162808.322752:ERROR:gpu_process_host.cc(1001)] GPU process launch failed: error_code=1002
[1012/162808.322821:WARNING:gpu_process_host.cc(1443)] The GPU process has crashed 6 time(s)
[1012/162808.335233:ERROR:gpu_process_host.cc(1001)] GPU process launch failed: error_code=1002
[1012/162808.335337:WARNING:gpu_process_host.cc(1443)] The GPU process has crashed 7 time(s)
[1012/162808.336992:ERROR:gpu_process_host.cc(1001)] GPU process launch failed: error_code=1002
[1012/162808.338181:WARNING:gpu_process_host.cc(1443)] The GPU process has crashed 8 time(s)
[1012/162808.341661:ERROR:gpu_process_host.cc(1001)] GPU process launch failed: error_code=1002
[1012/162808.343450:WARNING:gpu_process_host.cc(1443)] The GPU process has crashed 9 time(s)
[1012/162808.343498:FATAL:gpu_data_manager_impl_private.cc(454)] GPU process isn't usable. Goodbye.

然后我将源码编译的CefViewWing、resources目录拷贝到build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug目录运行。
报错内容如下:
/home/dzp/Desktop/qt-in-action/build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug/CefViewWing/home/dzp/Desktop/qt-in-action/build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug/CefViewWing: error while loading shared libraries: libcef.so: cannot open shared object file: No such file or directory
: error while loading shared libraries: libcef.so: cannot open shared object file: No such file or directory

再将源码编译的libcef.so拷贝到build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug目录运行。
报错如下:
[1012/163315.978250:ERROR:icu_util.cc(223)] Invalid file descriptor to ICU data received.
[1012/163315.974588:ERROR:icu_util.cc(223)] Invalid file descriptor to ICU data received.

我也试过将QCefView/.build/linux.x86_64/output/Release/bin文件夹下所有文件考到build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug目录运行demo但还是报错。

报错如下:
[37412:37412:1012/163545.205764:ERROR:resource_bundle.cc(1029)] Failed to load /home/dzp/Desktop/qt-in-action/build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug/chrome_100_percent.pak
Some features may not be available.
[37412:37412:1012/163545.209481:ERROR:resource_bundle.cc(1029)] Failed to load /home/dzp/Desktop/qt-in-action/build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug/resources.pak
Some features may not be available.
[37413:37413:1012/163545.229794:ERROR:resource_bundle.cc(1029)] Failed to load /home/dzp/Desktop/qt-in-action/build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug/chrome_100_percent.pak
Some features may not be available.
[37413:37413:1012/163545.232766:ERROR:resource_bundle.cc(1029)] Failed to load /home/dzp/Desktop/qt-in-action/build-QCefViewDemo-Desktop_Qt_5_14_2_GCC_64bit-Debug/resources.pak
Some features may not be available.
[37432:37432:1012/163545.304448:ERROR:validation_errors.cc(117)] Invalid message: VALIDATION_ERROR_UNEXPECTED_STRUCT_HEADER

有无能指导下解决编译问题或是能提供linux系统qt demo通过QCefView内嵌浏览器(能正常加载url即可)

  • 写回答

23条回答 默认 最新

  • 云水木石 2024-10-12 21:43
    关注
    1. 需要将QCefView编译出的Release/bin 目录下所有的so, pak,dat, bin 文件都复制到编译输出目录下。

    2. 可以在pro 文件中加入如下指令,编译过程中拷贝相关文件:
      unix {

      cef 库不存在时拷贝 so, 针对linux

      !exists($$DESTDIR/libcef.so) {
      message(Copy cef Files...)

      so目录

      TargetDlls = $$PWD/../thirdparty/QCefView/linux.x86_64/Release/bin

      OutputDllDir = $$DESTDIR

      QMAKE_POST_LINK += cp -r $$TargetDlls/* $$OutputDllDir

    }
    }
    3. 请参考我在 https://e.coding.net/mogoweb/qt-in-action/qt-in-action.git 上的实例 QCefViewDemo

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(22条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月15日
  • 已采纳回答 10月15日
  • 修改了问题 10月12日
  • 创建了问题 10月12日