VCOS 没有命名类型

Posted

技术标签:

【中文标题】VCOS 没有命名类型【英文标题】:VCOS does not name a type 【发布时间】:2017-03-31 17:28:16 【问题描述】:

我正在尝试将视频从 raspicam 输出到帧缓冲区 0,但我遇到了 BCM_HOST 问题,其中包含的 vcos.h 出现了大量错误。 所有错误都是相同的两种类型:

'VCHPRE_' does not name a type,
'vcos_boot_t' has not been declared,

在文件中:connection.h vc_ispmanx.h、message.h 等

等等。 我将链接到下面的完整错误粘贴箱

我什至不知道从哪里开始解决这些问题,我使用 VisualGDB 的同步 sysroot 功能将 /opt/vc 从 raspbian 移动到我的 sysroot 文件夹,所有包含文件都在那里。

这是文件本身的问题吗?不可能的,

感谢您的帮助, -D

粘贴链接:https://mypastebin.com/xQdN7mZZInHx

例子:

#include <stdio.h>
#include <syslog.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>

#include "bcm_host.h"
using namespace std;

int main(int argc, char **argv) 

    DISPMANX_DISPLAY_HANDLE_T display;
    DISPMANX_MODEINFO_T display_info;
    DISPMANX_RESOURCE_HANDLE_T screen_resource;
    VC_IMAGE_TRANSFORM_T transform;
    uint32_t image_prt;
    VC_RECT_T rect1;
    int ret;
    int fbfd = 0;
    char *fbp = 0;

    struct fb_var_screeninfo vinfo;
    struct fb_fix_screeninfo finfo;

    return 0;

【问题讨论】:

请edit 与minimal reproducible example 联系您的问题。请避免链接到存储在外部站点中的代码。 添加了一个生成这些错误的简单示例 什么错误?请将所有编译错误复制粘贴到问题本身中,不要转述。 上面显示的错误中有 2 个,包含 300 多行的 pastebin 链接大多数错误是相同的。 does not name a typehas not been declared 是我得到的唯一错误类型 您是否包含任何定义 VCHPRE_ 的标头? 【参考方案1】:

好吧,似乎使用 VisualGDB sysroot 同步工具会导致一些文件以 0 长度复制。我检查了 vcos.h,它是空的,但在我的 linux 系统上它有数据。通过手动复制所有文件来修复。

【讨论】:

以上是关于VCOS 没有命名类型的主要内容,如果未能解决你的问题,请参考以下文章

BinaryNode' 没有命名类型

对象没有命名类型错误

错误:“ostream”没有命名类型

G ++“没有命名类型”

结构没有在c ++中命名类型

对象之前的预期')'。类没有命名类型[重复]