NDK未解析的包含,但路径在local_c_includes中
NDK unresolved inclusion but path is in local_c_includes for Bypass library
我想让Bypass Markdown解析库与我的Android项目一起工作。
我编译并安装了Boost(因为它是一个依赖项)。然后我下载了Bypass源代码并导入Android项目作为库,并将其作为库包含在我自己的项目属性中。
当我在项目中添加NDK支持并重新构建它时,我注意到旁路项目中的一些错误。我认为这是由unresolved inclusion "parser.h"
引起的。
这是我的Android.makefile:
LOCAL_PATH := $(call my-dir)
BYPASS_SRC := ../../../../src/
include $(CLEAR_VARS)
LOCAL_MODULE := bypass
LOCAL_SRC_FILES :=
bypass.cpp
$(BYPASS_SRC)parser.cpp
$(BYPASS_SRC)document.cpp
$(BYPASS_SRC)element.cpp
../../../../dep/libsoldout/markdown.c
../../../../dep/libsoldout/buffer.c
../../../../dep/libsoldout/array.c
LOCAL_C_INCLUDES:= ../../../dep/libsoldout ../../../src /opt/local/include /usr/local/include $(BYPASS_INCLUDE_PATH)
include $(BUILD_SHARED_LIBRARY)
"parser.h
"文件在"../../../../src/
"文件夹中。我从makefile的开始检查了它,它就在那个文件夹里,但是找不到。这可能是什么原因呢?
顺便说一下,这是我第一次使用NDK,我几乎没有C/c++的经验,所以一个详细的答案将是感激。
在jni/Android。我们设置LOCAL_PATH并列出相对于LOCAL_PATH的LOCAL_SRC_FILES。另一方面,LOCAL_C_INCLUDES列表包含C和c++编译器将搜索的目录,以解析源文件中的#include指令。这些目录相对于项目根目录(通常比LOCAL_PATH高一级)。
在你的情况下,我不清楚你是如何检查……/……/……/src到parser.h的路径。这是从jni目录(Android。Mk是位于),还是从项目根?
关于Android的更多评论。Mk文件:因为你正在使用交叉编译器,你不应该在/opt/local或/usr/local/include目录下寻找包含文件。NDK应该提供与平台相关的替代方案。我找不到BIPASS_INCLUDE_PATH定义
相关文章:
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- "local scope"中的 C++ 初始化静态变量
- 在 /usr/local/lib 下找不到库
- C++:寻找"returning address of local variable..."的更正
- C++ - 在我尝试制作一个简单的计算器时有一个"uninitialized local variable y used"警告
- 在 c++ 中是否有像 javascript 中那样"includes()"的方法
- pip install uwsgi 失败,出现 /usr/local/include/string/string.h:7:10:致命错误:找不到'sstream'文件?
- 将 TensorFlow 链接到C++.Protobuf (/usr/local/include/google/prot
- 为什么我收到以下错误:"returning reference to temporary [-Werror=return-local-addr]"
- Visual Studio生成"Error: uninitialized local variable 'x' "而在线编译器不会 - 为什么?
- AppData\Local\Temp\cc59LXDc.o:test1.cpp: undefined reference to 'constructNewObjectOfClass
- Boost 文件在 /usr/local/include 和 /usr/include 中有所不同
- 当 ESP32 在 Newlib/ 而不是 ESP32/ 中找到组件 #includes esp_types.h 时,E
- 此示例中的'aliased local shared_ptr'是什么
- 带有定制 GLFW 二进制 /usr/bin/ld 的 Centos 7: /usr/local/lib/libglfw3.a(init.c.o):".text"部分中无法识别的重定位 (0x2a)
- CMake 看不到源文件,找不到 #includes
- 在 Ubuntu 16.04 的 usr/local/bin 中安装的 c++ 应用程序在从主目录执行时无法正常运行
- 如何将我的控制台应用程序链接到使用 clang++ 作为编译器的 OSX 环境中的 /usr/local/lib 中存在
- 如何使用Clang 链接到Boost /usr /local编译
- 虽然循环错误:"Uninitialized local variable used"