【问题标题】:libwebsockets.h - no such file or directory, Ubuntu, arm-linux-gcc cross compilerlibwebsockets.h - 没有这样的文件或目录,Ubuntu,arm-linux-gcc 交叉编译器
【发布时间】:2017-09-22 17:29:10
【问题描述】:

我正在使用 arm-linux-gcc 交叉编译器在 TS-7800 板上使用 libwebsockets 库构建 Web 服务器。使用 Ubuntu。安装 CMake、OpenSSL 和 libwebsockets 并按照 Github 上的说明构建库。

我制作了一个“hello world”C 文件,其中 #includes libwebsockets.h 当我用 gcc 编译可执行文件时,它编译得很好并且 .exe 运行。 当我使用 arm-linux-gcc 编译时,我得到以下信息:

root@gordon-MS-7A39:/# arm-linux-gcc -o hellosockets /home/gordon/workspace/HelloCrossWorld/hello_cross.c
/home/gordon/workspace/HelloCrossWorld/hello_cross.c:3:27: libwebsockets.h: No such file or directory

arm-linux-gcc 编译器似乎无法“看到”libwebsockets 的头文件。我猜是因为gcc可以看到websockets库安装成功了。

如何启用 arm 交叉编译器来查看 libwebsockets.h 文件?

感谢您的意见!

【问题讨论】:

    标签: c gcc arm cross-compiling header-files


    【解决方案1】:

    您需要将 armhf 架构添加到您的包管理系统。以超级用户身份执行以下操作:

    dpkg --add-architecture armhf
    apt update
    apt install libwebsockets-dev:armhf
    

    确保您也在使用 armhf 工具链:

    apt install binutils-arm-linux-gnueabihf g++-arm-linux-gnueabihf
    

    或者,看看Buildroot

    【讨论】:

    • 谢谢,但有些包没有安装(404 未找到),Linux 无法找到包“libwebsockets-dev:armhf”。我会看看Buildroot。
    • @Gordon 我已经在 Debian 9 中尝试过,但 AFAIK 在 Ubuntu 中应该是类似的。你跑apt update了吗?它可以解释为什么找不到某些包。
    【解决方案2】:

    我不知道 gcc 和 arm-linux-gcc 的 -I 和 -L 预处理器选项。 我能够将库添加到项目中,并将考虑为项目创建 makefile。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 2016-05-21
      • 2015-01-05
      • 1970-01-01
      • 1970-01-01
      • 2014-05-25
      • 1970-01-01
      相关资源
      最近更新 更多