XCode里遇到 #include <XXX.h>file not found的解决方案
最近在学习如何在C++里调用Java方法,遇到提示 #include <XXX.h> file not found 的问题。也google了好久都没有找到合适的解决方案。
认真的研究了下xcode导入h头文件的的工作机制,发现xcode里有个设置是配置查找头文件位置的地方。特地总结了下这次的教训。搞了我两天 -_-||
我这里做的动作是Cocos2dx的C++调用Android里的Java方法,上代码:
1.首先要保证,cpp调用文件的头一定要引入你的JniHelper.h的正确路径。我这里是
#include <platform/android/jni/JniHelper.h>
2.当代码里调用如下代码的时候,不会正常调用API:
JniHelper::getEnv()
如果不配置xcode自动搜索头文件的配置,这里返回的应该是个int*类型的参数。肯定是不对的。应该是返回JNIEnv*类型的才对!
3.进入到上面的JniHelper.h头文件内,会发现#include <jni.h> file not found的错误。
下面是解决方案:
1.xcode里点击你项目本身,然后在右侧找到project,然后Build Settings,在下面搜索栏里搜索“search”,找到下面Header Search Paths,双击编辑内容
2.在弹出框内的下方,有个“+”符号,添加条目,输入的内容为你Android的NDK的路径。我这里本机存放的路径是:/opt/android-ndk-r9d/platforms/android-9/arch-arm/usr/include。
3.这回再回到JniHelper.h头文件,你就会发现错误提示没了,而且在cpp文件里,调用JniHelper::getEnv方法就可以正常使用了。
XCode里遇到 #include <XXX.h>file not found的解决方案的更多相关文章
- 关于xxx.h file not found 的问题
在引用第三方库的时候,经常会遇到xxx.h file not found的问题. 首先,我们要知道在引用第三方的时候,我们使用的第三方的库的类型. .a静态库 使用方式:#import "x ...
- C++中#include <xxx.h>和#include "xxx.h"的区别(尖括号和双引号的区别)
第一种方式:采用< >方式,表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错. 例如:VS2015的安装目录\Microsoft Visual Studio 14. ...
- #include <xxx.h>和#include "xxx.h"的区别
<>代表在系统目录下查找该头文件(系统定义头文件) ""代表在用户目录下查找该头文件(自定义头文件)
- OBS---环境配置之#include <D3DX10.h>报错
一.先贴错误 因为这个笔记主要记录我如何整好这个OBS源码环境的,给需要的童鞋一个参考 1.1.#include <D3DX10.h> 报错 没有这个 解决方案:把2,3先解决了就水到渠 ...
- c语言输入与输出库函数#include<stdio.h>
last modified: 2010-05-28 输入与输出<stdio.h> 头文件<stdio.h>定义了用于输入和输出的函数.类型和宏.最重要的类型是用于声明文件指针的 ...
- Q_OBJECT提供了信号槽机制、国际化机、RTTI 的反射能力(cpp中使用Q_OBJECT导致无法处理moc,就需要#include “moc_xxx.h”)
只有继承了QObject类的类,才具有信号槽的能力.所以,为了使用信号槽,必须继承QObject.凡是QObject类(不管是直接子类还是间接子类),都应该在第一行代码写上Q_OBJECT.不管是不 ...
- Mac下安装第三方模块报错:‘sqlfront.h‘ file not found的解决办法
1.软件环境: mac环境:10.11.6(15G31) python: 3.6 2.问题: sudo pip install pymssql 后出现下面问题: fatal error: 'sqlfr ...
- 编译错误: file not found with angled include use quotes instead #include <lualib.h> 和 #include "lualib.h"
http://stackoverflow.com/questions/17465902/use-of-external-c-headers-in-objective-c 问题: 7down votef ...
- C++自学笔记 头文件 (header file)关于 #include 和.h
头文件 在C++中定义Definition一个类的时候 要用分别的.h和.cpp文件去定义这个类 .h和.cpp成对出现 类的声明declaration和函数原型放在头文件里(.h) 定义这些函数的结 ...
随机推荐
- 数据库CRUD操作
CRUD操作: C:create 增加数据: insert into 表名 values('N001','汉族') 普通 insert into 表名 values('','','') 如果有自增长列 ...
- findOneAndUpdate的用法详解
Fragment.findOneAndUpdate({_id:id}, {$set: datas}, {upsert:true, 'new':true}).populate('ads').exec(f ...
- select option 下拉多选单选bootstrap插件使用总结2
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ubuntu13.04安装SenchaArchitect-2.2无法启动的问题
系统是ubuntukylin-13.04-desktop版本,不知道别的版本有没有这个问题,未测试.SenchaArchitect采用最新版本2.2.2,我安装的是32位的. 具体无法启动的问题如下: ...
- android 屏幕适配问题【转】
如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情. 首先:你需要在AndroidManifest.xml文件的<m ...
- mac 版本号控制工具SmartSVN7.5.4(破解版)
SmartSVN7.5.4和破解工具,下载地址:http://download.csdn.net/detail/pearlhuzhu/7407319 操作步骤: 1.在MAC上选中smartsvn-m ...
- 谷歌识图、google识图如何知道图片相似?
转自:http://www.hahait.com/news/185.html 原理非常简单易懂.我们可以用一个快速算法,就达到基本的效果.这里的关键技术叫做“感知哈希算法”(Perceptual ha ...
- GridView.GridLines 属性
GridLines.None 不显示网格线. GridLines.Horizontal 仅显示水平网格线. GridLines.Vertical 仅显示垂直网格线. GridLines.Both 同时 ...
- svn和ftp的区别
svn和ftp的区别是: ftp修该文件后就会替换原来的内容无法恢复.如果要回复,还需要自己在替换前做备份.如果遇到多人同时操作同一文件就会很头疼.且无法对相应修改进行记录. svn可以将你每一次的修 ...
- Unity3D Android手机开发环境配置
Unity3D Android手机开发环境配置 Date:2014-01-01 07:09 1.配置eclipse环境:首先在官网下载安装包:http://developer.android.com/ ...