我在android studio中遇到了这个问题。我将制作用于Android项目的本机C代码。我用cmake为了卷曲一些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})
然后我遇到了以下致命错误。
/usr/include/stdint.h:26:10:致命错误:找不到“ bits / libc-header-start.h”文件
#include<bits/libc-header-start.h>
^ ~~~~~~~~~~~~~~~~~~~~~~~
有人可以帮助我吗?请...
答案 0 :(得分:0)
可能无法正确编译适用于所有类型设备的curl库。我发现了三种类型的库:armeabi
,armeabi-v7a
和x86
。但是64位体系结构的cpu可以在操作系统的自适应功能下自动执行32位程序。这三个库可在常见的cocos2d-x game-source-project中找到。因此,本文的读者应该使用ndk-build而不是cmake来达到此目的,即suit-target-device。