Lua Binding Error: "Fatal error in parsing headers"

When I run the genbindings.py throw this exception:

generating userconf.ini...
Generating bindings for cocos2dx...
Using userconfig
  [('androidndkdir', '/Users/mobiuschen/Work/android-ndk-r9b'), ('clangllvmdir', '/Users/mobiuschen/Work/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64'), ('cocosdir', '/Users/mobiuschen/Work/quick-cocos-x-v3'), ('cxxgeneratordir', '/Users/mobiuschen/Work/quick-cocos-x-v3/tools/bindings-generator'), ('extra_flags', '')]

.... Generating bindings for target lua

.... .... Processing section cocos2d-x

====
Errors in parsing headers:
1. <severity = Error,
    location = <SourceLocation file '/usr/include/module.map', line 36, column 14>,
    details = "header 'float.h' not found">
2. <severity = Error,
    location = <SourceLocation file '/usr/include/module.map', line 81, column 14>,
    details = "header 'stdarg.h' not found">
3. <severity = Error,
    location = <SourceLocation file '/usr/include/module.map', line 113, column 14>,
    details = "header 'tgmath.h' not found">
4. <severity = Warning,
    location = <SourceLocation file '/Users/mobiuschen/Work/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">
5. <severity = Warning,
    location = <SourceLocation file '/Users/mobiuschen/Work/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">
6. <severity = Warning,
    location = <SourceLocation file '/Users/mobiuschen/Work/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">
7. <severity = Warning,
    location = <SourceLocation file '/Users/mobiuschen/Work/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">
8. <severity = Warning,
    location = <SourceLocation file '/Users/mobiuschen/Work/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">
9. <severity = Warning,
    location = <SourceLocation file '/Users/mobiuschen/Work/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">
====

*** Found errors - can not continue
Traceback (most recent call last):
  File "/Users/mobiuschen/Work/quick-cocos-x-v3/tools/bindings-generator/generator.py", line 1418, in <module>
    main()
  File "/Users/mobiuschen/Work/quick-cocos-x-v3/tools/bindings-generator/generator.py", line 1414, in main
    generator.generate_code()
  File "/Users/mobiuschen/Work/quick-cocos-x-v3/tools/bindings-generator/generator.py", line 1087, in generate_code
    self._parse_headers()
  File "/Users/mobiuschen/Work/quick-cocos-x-v3/tools/bindings-generator/generator.py", line 1123, in _parse_headers
    raise Exception("Fatal error in parsing headers")
Exception: Fatal error in parsing headers

My environment:

  • OS X 10.10.1
  • Python 2.7.3
  • NDK=android-ndk-r9b
  • Cocos2d-x 3.1, Cocos2d-x 3.3, quick-cocos-x v3

Anybody know how to solve this problem?

Did you include some head files which you would use. I think you should modify the cocos_headers property in the related ini files.