首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Ubuntu 16.04 "poll.h“上找不到aarch64-linux-android-gcc错误

在Ubuntu 16.04上使用aarch64-linux-android-gcc编译器时,如果遇到“找不到poll.h”的错误,通常是因为缺少必要的头文件和库。以下是一些可能的解决方案:

1. 安装必要的开发工具和库

确保你已经安装了所有必要的开发工具和库。你可以通过以下命令安装一些常见的开发工具和库:

代码语言:javascript
复制
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libc6-dev
sudo apt-get install libncurses5-dev

2. 安装Android NDK

如果你还没有安装Android NDK,你需要下载并安装它。你可以从Android开发者官网

下载NDK。

下载完成后,解压NDK到一个目录,例如/opt/android-ndk

代码语言:javascript
复制
tar -xzvf android-ndk-r21e-linux-x86_64.tar.gz -C /opt/

3. 设置环境变量

确保你的环境变量正确设置,以便编译器能够找到必要的头文件和库。你可以在你的.bashrc.profile文件中添加以下内容:

代码语言:javascript
复制
export ANDROID_NDK=/opt/android-ndk/android-ndk-r21e
export PATH=$PATH:$ANDROID_NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin

然后,重新加载你的shell配置文件:

代码语言:javascript
复制
source ~/.bashrc

4. 检查头文件路径

确保poll.h头文件存在于NDK的包含路径中。你可以通过以下命令检查:

代码语言:javascript
复制
$ANDROID_NDK/sysroot/usr/include/aarch64-linux-android/poll.h

如果文件存在,说明路径正确。如果文件不存在,可能需要检查NDK版本或重新下载NDK。

5. 使用正确的编译器标志

确保你在编译时使用了正确的编译器标志。例如,你可以使用以下命令编译一个简单的C文件:

代码语言:javascript
复制
aarch64-linux-android-gcc -I$ANDROID_NDK/sysroot/usr/include -L$ANDROID_NDK/platforms/android-21/arch-arm64/usr/lib -o myprogram myprogram.c

6. 检查NDK版本兼容性

确保你使用的NDK版本与你的项目和工具链兼容。有时,不同版本的NDK可能会有不同的头文件和库路径。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Ubuntu 16.04安装WordPress

    介绍 本指南中,您将学习如何在运行Ubuntu 16.04的Linode安装WordPress。WordPress是一个流行的动态内容管理系统,专注于博客。...WordPress可以部署LAMP或LEMP堆栈,并具有广泛的插件框架和主题系统,允许网站所有者和开发人员使用其简单但功能强大的发布工具。 注意 本教程是为非root用户编写的。...准备 您应该拥有一个Ubuntu 16.04的服务器,并使用提升的sudo权限为Ghost创建了新用户。本教程中的示例使用ghostexample。...要安装GD扩展: sudo apt install php7.0-gd 要获得完整的非英语语言支持并修复某些与字符编码相关的错误,您需要多字节字符串(MBSTRING)扩展。...---- 参考文献:《How To Configure Nginx as a Web Server and Reverse Proxy for Apache on One Ubuntu 16.04 Server

    5.1K20

    Ubuntu 16.04安装MongoDB(Xenial)

    本数据库教程中,我们将一步步指导您在Ubuntu 16.04安装MongoDB,然后再介绍MongoDB一些基本特性和功能。 [077cdzz9n0.png] MongoDB是一个数据库引擎。...添加MongoDB存储库 mongodb-serverUbuntu包存储库中有2.6版。但是,此版本于2016年10月到期,因此不应在生产环境中使用。...可用的最新版本是3.2,撰写本文时,默认的Ubuntu存储库不包含更新的软件包。 由于以上原因,我们得使用MongoDB存储库。...添加任何用户之前,创建一个数据库来存储用户数据以进行身份验证 use admin 使用以下命令创建管理员,该用户可以在任何数据库创建其他用户。...更多信息,请参阅db.createCollection()方法的MongoDB文档。 注意集合名称不应包含连字符之类的标点符号。运气好的话,尝试使用或修改集合之前,这可能不会引发异常。

    5.4K30

    Ubuntu 16.04或Debian 8安装SquirrelMail

    对于本指南,我们将使用Apache 2.如果您还没有安装Apache和PHP,可以Ubuntu 16.04安装LAMP或Debian 8 安装LAMP查看我们的安装指南。...启用新的虚拟主机:sudo a2ensite squirrelmail.confsudo systemctl reload apache2.service导航到您的Linode的IP地址或域后,您现在应该能够浏览器中看到...输入2以显示“服务器设置”子菜单: [17vkrei0ip.png] 如果您的邮件服务器与SquirrelMail安装在同一个Linode,则可能不需要对默认设置进行任何调整。...版本1.5.1和更高版本可以使用STARTTLS,但正在开发中,并且主存储库中不可用。您可以从Squirrelmail的网站下载最新版本。 完成后,按S保存更改,然后按Q退出。...根据您配置虚拟主机的方式,Web浏览器中导航到Linode的IP地址或域名: [b9a1r1jcs5.png] 界面布局遵循标准电子邮件约定; 所有常见功能都应易于访问: [7bntxdiwrt.png

    1.9K10

    Ubuntu 16.04安装Odoo 11堆栈

    对于简单安装,可以单个Linode安装Odoo及其依赖项(有关详细信息,请参阅我们Ubuntu安装Odoo 10的指南)。但是,此单服务器设置不适合生产部署。...本指南中的所有示例均适用于Ubuntu 16.04。如果您计划使用其他操作系统,请根据需要调整命令。 在你开始之前 熟悉我们的入门指南并完成设置Linode主机名和时区的步骤。...安装PostgreSQL PostgreSQL的9.6版本为数据库复制提供了重大改进,但不幸的是,它不包含在默认的Ubuntu 16.04存储库中。在所有数据库节点安装最新版本。...主节点和从节点创建此用户。 切换到postgres用户并创建负责所有操作的数据库用户odoo。...强制使用POSIX语言环境,这样可以防止安装过程中出现错误(这与Odoo语言无关): export LC_ALL=C 安装新的Python3依赖项: sudo apt-get install python3

    8.9K30

    如何使用SpipedUbuntu 16.04加密到Redis的流量

    我们将使用两台Ubuntu 16.04服务器进行演示。 课程准备 首先,您应该拥有一sudo台每台计算机上都配置了权限的非root用户。...安装Redis服务器和客户端软件包 开始之前,我们应该在一台机器安装Redis服务器,另一台机器安装客户机软件包。如果您已经配置了其中一个或两个,请随时跳过。...安装Redis客户端 另一台Ubuntu 16.04机器将作为客户端。...Redis服务器生成加密密钥 接下来,Redis服务器的/etc中创建一个spiped配置目录,以存储我们将为加密生成的密钥: sudo mkdir /etc/spiped 键入以下内容生成安全密钥...---- 参考文献:《How To Encrypt Traffic to Redis with Spiped on Ubuntu 16.04

    1.9K00
    领券