如何在C ++中找到类型的定义

时间:2017-07-19 06:09:53

标签: c++ linux qt

我试图在buildroot下交叉编译qt5webengine,但是有一些编译错误。

output/build/qt5webengine-5.6.1-1/src/core/delegated_frame_node.cpp: In function void QtWebEngineCore::waitChromiumSync(gfx::TransferableFence*):
output/build/qt5webengine-5.6.1-1/src/core/delegated_frame_node.cpp:202:16: error: PFNEGLCLIENTWAITSYNCKHRPROC does not name a type static PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHR = 0;
output/build/qt5webengine-5.6.1-1/src/core/delegated_frame_node.cpp:207:41: error: PFNEGLCLIENTWAITSYNCKHRPROC was not declared in this scope

我试图找到PFNEGLCLIENTWAITSYNCKHRPROC的定义,我发现只有以下typedef:

typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);

说实话,我不确定如何解释它。这是指向函数的指针类型的声明吗?

任何人都可以解释一下吗?

第二个问题 - 如果这不是PFNEGLCLIENTWAITSYNCKHRPROC类型的定义 - 如何找出正确定义的位置?我试图在Linux下编译它,这个qt5webengine使用gcc / g ++ 4.9.2。

1 个答案:

答案 0 :(得分:0)

在互联网上进行了一些搜索后,我发现qt框架对于webengine组件存在交叉编译问题,但是他们已经在3月18日上午7:47关闭/修复了他们的问题。所以你可以查看你的Qt版本并在需要时进行更新。

您可以查看他们的错误报告页面:webengine cannot be built on TI hardware