Android CMake "fatal error: ' 位/libc-header-start.h' 找不到文件”

标签 android c++ cmake

我在android studio遇到过这个问题。我将制作在 android 项目中使用的 native c 代码。我使用cmake。为了 curl 一些 url,我在 CMakeLists.txt 中包含了一些库。以下是我的 CMakeLists.txt 文件内容。

cmake_minimum_required(VERSION 3.4.1)

set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)

set(CURL_INCLUDE_DIR "/usr/include")
set(CURL_LIBRARY "-lcurl")

find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})

add_library(native-lib SHARED native-lib.cpp )

find_library(log-lib log )

target_link_libraries(native-lib ${CURL_LIBRARIES} ${log-lib})

然后我遇到了以下 fatal error 。

/usr/include/stdint.h:26:10: fatal error: 'bits/libc-header-start.h' file not found
#include <bits/libc-header-start.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~

有人能帮帮我吗?请...

最佳答案

交叉编译适用于所有类型设备的 curl 库可能是不正确的。我找到了三种类型的库:armeabiarmeabi-v7ax86。而64位架构的cpu在操作系统的自适应功能下可以自动执行32位程序。这三个库在cocos2d-x game-source-project 中常见。所以本文读者应该使用ndk-build而不是cmake来达到这个条件,suit-target-device。

关于Android CMake "fatal error: ' 位/libc-header-start.h' 找不到文件”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56763861/

相关文章:

Cmake 正在将某些内容安装到/usr/local/include 和/usr/lib 而不是/usr/include

c++ - 无法更改 CMake 中的默认链接器

java - Android webview 滚动不起作用

java - 编译android studio失败

android - 具有多个 fragment 和屏幕方向的单个 Activity

c++ - 使用 stringstream 将整数分配给 char 指针

c++ - 在 C++ 中将数独谜题读入对象数组并显示其内容

c++ - 向注册表添加新 key 不起作用

android - 如何避免重复定义变量

cmake - 如何指定vcpkg使用的CMake版本