小弟初学bindings-generator,使用其中的test.bat试图绑定simple-test示例程序时提示“string” file not found,应该是string头文件找不到,试着用cocos2dx.ini文件中的内容配置,提示cocosdir变量不存在,只好跪求原因。十分感谢!下面是我修改的test.ini,主要是引入了cocos2dx的某些配置,但提示还是一样,使用的ndk版本是r10.
name = simple_test
prefix = autogentestbindings
classes = SimpleNativeClass
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
android_flags = -D_SIZE_T_DEFINED_
clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include
clang_flags = -nostdinc -x c++ -std=c++11
cxxgenerator_headers =
simple_test_headers = -I%(cxxgeneratordir)s/test/simple_test
cocosdir = …/…/…/
cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/cocos/platform/android -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s/external
cocos_flags = -DANDROID -U__MINGW32__
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
headers = %(cxxgeneratordir)s/test/simple_test/simple_class.h
target_namespace =
remove_prefix =
skip =
base_objects =
abstract_classes =
classes_have_type_info = no
rename =
rename_functions =
rename_classes =
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 =
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 = yes
输出如下:
PYTHON_ROOT is defined.
NDK_ROOT is defined.
ECHO 处于关闭状态。
generating userconf.ini…
“Generating bindings for simpletest with Android headers…”
Using userconfig
(‘androidndkdir’, ‘D:\adt-bundle-windows-x86_64-20131030\android-ndk-r10d’)
, (‘clangllvmdir’, ‘D:\adt-bundle-windows-x86_64-20131030\android-ndk-r10d/too
lchains/llvm-3.3/prebuilt/windows’), (‘cxxgeneratordir’, ‘D:/cocos/quick-3.3/too
ls/bindings-generator/test/…’), (‘extra_flags’, ‘-D__WCHAR_MAX__=0x7fffffff’)]
… Generating bindings for target lua
… … Processing section testandroid
Errors in parsing headers:
- <severity = Warning,
location = <SourceLocation file None, line 180, column 9>,
details = “‘WCHAR_MAX’ macro redefined”> - <severity = Fatal,
location = <SourceLocation file ‘D:/cocos/quick-3.3/tools/bindings-generator
/test/…/test/simple_test/simple_class.h’, line 4, column 10>,
details = “‘string’ file not found”>
====
*** Found errors - can not continue
Traceback (most recent call last):
File “D:/cocos/quick-3.3/tools/bindings-generator/test/…/generator.py”, line
1405, in
main()
File “D:/cocos/quick-3.3/tools/bindings-generator/test/…/generator.py”, line
1401, in main
generator.generate_code()
File “D:/cocos/quick-3.3/tools/bindings-generator/test/…/generator.py”, line
1074, in generate_code
self._parse_headers()
File “D:/cocos/quick-3.3/tools/bindings-generator/test/…/generator.py”, line
1110, in _parse_headers
raise Exception(“Fatal error in parsing headers”)
Exception: Fatal error in parsing headers