现在我想做一个闪电的特效,用了论坛中捕鱼达人3 的源码,里面有noise.h,VertexVector.h,LightLineRender.h这三个头文件。
LightLineRender引用VertexVector.h,VertexVector.h引用noise.h
在论坛上找自定义的教程,按照这篇写的开始整http://www.cocoachina.com/bbs/read.php?tid=196416&page=1。
但这篇里面class只有一个,我的这个不一样。我试过只写那个LightLineRender类,不管那两个,报这种错
- <severity = Warning,
location = <SourceLocation file ‘/Users/hc/DevelopTools/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64/lib/clang/3.3/include/float.h’, line 86, column 9>,
details = “‘FLT_DIG’ macro redefined”> - <severity = Warning,
location = <SourceLocation file ‘/Users/hc/DevelopTools/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64/lib/clang/3.3/include/float.h’, line 87, column 9>,
details = “‘DBL_DIG’ macro redefined”>
。。。。。。
后来我看了下自带的cocos2dx_spine.ini怎么写的,他也是多个类相互引用 ,单独写了一个头文件 来存放这些涉及到的头文件 。
我按他的也写了一个头文件Light.h
#ifndef LIGHT_LIGHT_H_
#define LIGHT_LIGHT_H_
#include “cocos2d.h”
#include “3d/CCMesh.h”
#include “Noise.h”
#include “VertexVector.h”
#include “LightLineRender.h”
#endif /* LIGHT_LIGHT_H_ */
然后修改Light.ini
the prefix to be added to the generated functions. You might or might not use this in your own
templates
prefix = Light
create a target namespace (in javascript, this would create some code like the equiv. to ns = ns || {})
all classes will be embedded in that namespace
target_namespace =
android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/include
android_flags = -D_SIZE_T_DEFINED_
clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include
clang_flags = -nostdinc -x c++ -std=c++11
cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s/cocos/platform/android
cocos_flags = -DANDROID
cxxgenerator_headers =
extra arguments for clang
extra_arguments = (android_headers)s (clang_headers)s (cxxgenerator_headers)s (cocos_headers)s (android_flags)s (clang_flags)s (cocos_flags)s (extra_flags)s
what headers to parse
headers = %(cocosdir)s/projects/CppDemo2/Classes/Light.h
what classes to produce code for. You can use regular expressions here. When testing the regular
expression, it will be enclosed in “^", like this: "^Menu*”.
classes = Noise VertexVector LightLineRender
what should we skip? in the format ClassName::
ClassName is a regular expression, but will be used like this: “^ClassName$” functions are also
regular expressions, they will not be surrounded by “^$”. If you want to skip a whole class, just
add a single “" as functions. See bellow for several examples. A special class name is "”, which
will apply to all class names. This is a convenience wildcard to be able to skip similar named
functions from all classes.
skip =
rename_functions =
rename_classes =
for all class names, should we remove something when registering in the target VM?
remove_prefix =
classes for which there will be no “parent” lookup
classes_have_no_parents =
base classes which will be skipped when their sub-classes found them.
base_classes_to_skip =
classes that create no constructor
Set is special and we will use a hand-written constructor
abstract_classes = Noise VertexVector LightLineRender
Determining whether to use script object(js object) to control the lifecycle of native(cpp) object or the other way around. Supported values are ‘yes’ or ‘no’.
script_control_cpp = no
Light.py修改了这两句
output_dir = ’s/cocos/projects/CppDemo2/Classes/auto' project_root
cmd_args = {'Light.ini' : ('Light', 'lua_Light_auto')}
然后在命令行下执行Light.py
还是报这个错啊
Errors in parsing headers:
- <severity = Warning,
location = <SourceLocation file ‘/Users/xx/DevelopTools/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64/lib/clang/3.3/include/float.h’, line 86, column 9>,
details = “‘FLT_DIG’ macro redefined”> - <severity = Warning,
location = <SourceLocation file ‘/Users/xx/DevelopTools/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64/lib/clang/3.3/include/float.h’, line 87, column 9>,
details = “‘DBL_DIG’ macro redefined”> - <severity = Warning,
location = <SourceLocation file ‘/Users/xx/DevelopTools/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64/lib/clang/3.3/include/float.h’, line 106, column 9>,
details = “‘FLT_MAX’ macro redefined”> - <severity = Warning,
location = <SourceLocation file ‘/Users/xx/DevelopTools/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64/lib/clang/3.3/include/float.h’, line 107, column 9>,
details = “‘DBL_MAX’ macro redefined”> - <severity = Warning,
location = <SourceLocation file ‘/Users/xx/DevelopTools/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64/lib/clang/3.3/include/float.h’, line 114, column 9>,
details = “‘FLT_MIN’ macro redefined”> - <severity = Warning,
location = <SourceLocation file ‘/Users/xx/DevelopTools/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64/lib/clang/3.3/include/float.h’, line 115, column 9>,
details = “‘DBL_MIN’ macro redefined”>
====
Generating lua bindings succeeds.
真心不知道错到哪了,请大牛指点一下,非常感谢