Android Studio 错误消息:使用未声明的标识符“accept4”
Posted
技术标签:
【中文标题】Android Studio 错误消息:使用未声明的标识符“accept4”【英文标题】:Android Studio Error Message: Use Of Undeclared Identifier 'accept4' 【发布时间】:2022-01-10 04:20:33 【问题描述】:jni 文件夹不会出现在 android studio 中,并且仅在构建后 java 文件夹获取构建。
如您所见,jni 文件夹 出现在 explorer 中,但未出现在 android studio 中。
编辑: 所以在我将它添加到我的 build.gradle 之后
externalNativeBuild
ndkBuild
path 'src/main/jni/android.mk'
jni 文件夹显示为 cpp 文件夹名称 但是当我编译时,我从 SocketServer.cpp 得到 这个错误:
使用未声明的标识符“accept4”
这是代码:
bool SocketServer::Accept()
if ((acceptfd = accept4(listenfd, nullptr, nullptr, SOCK_CLOEXEC)) < 0)
Close();
return false;
return true;
并且headers已经是includes:
#include <sys/types.h>
#include <sys/socket.h>
【问题讨论】:
“添加 C/C++ 自然”选项是否可用? “这是我要在github上编译的源代码”。问题应该是独立的。将相关代码放在问题本身中。 “使用未声明的标识符‘accept4’”。听起来您可能正在构建一个非常旧的 Android 版本。 迈克尔 minSdkVersion 14 , targetSdkVersion 29 , compileSdkVersion 29 sdk 版本 14 是 Android 4.0,此时已经有十年了。 @Botje 我已经更改为 sdk 29 但错误仍然存在“使用未声明的标识符 'accept4'”是 ndk 版本的错误,或者是因为 android studio 找不到该功能。 【参考方案1】:我得到通过错误“use of undeclared identifier 'accept4'
”通过设置这些:
from compileSdkVersion 29 to compileSdkVersion 30
from buildToolsVersion "29.0.3" to buildToolsVersion "30.0.3"
from minSdkVersion 21 to minSdkVersion 22
from targetSdkVersion 29 to targetSdkVersion 30
【讨论】:
以上是关于Android Studio 错误消息:使用未声明的标识符“accept4”的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio Emulator 未开始显示 AVD 已被杀死
Android Studio:我的消息未显示在我的 android 应用程序上
在 Visual Studio 中使用 C++ 类 - 未声明的标识符错误 [重复]
Android Studio Logcat 未通过 Wi-Fi 显示带有 ADB 的日志消息
在Visual Studio中使用C ++类 - 未声明的标识符错误[重复]
我在 Visual Studio C++ 中遇到这些错误:“NuovoUtente”:未声明的标识符和“CercareUtente”:未声明的标识符 [关闭]