Genbindings-lua.py for cocos2dx_pluginx Error: Invalid __WCHAR_MAX__ value. Check your toolchain!

Hello everybody!
I’m working with Lua under Windows for Android devices.
I want to use plugin-x.
When I run …tools\pluginx-bindings-generator\genbindings-lua.py I get the following error message:

Generating bindings for cocos2dx_pluginx…
Using userconfig
[(‘androidndkdir’, ‘D:\android-ndk-r9b’), (‘clangllvmdir’, ‘D:\android-ndk-r9b\toolchains\llvm-3.3\prebuilt\wind
ows’), (‘cocosdir’, ‘D:\cocos2d-x-3.3’), (‘cxxgeneratordir’, ‘D:\cocos2d-x-3.3\tools\bindings-generator’), (‘extra_f
lags’, ‘-D__WCHAR_MAX__=0x7fffffff -U__MINGW32__’), (‘pluginxdir’, ‘D:\cocos2d-x-3.3\plugin’)]

… Generating bindings for target lua

… … Processing section cocos2dx_pluginx

====
Errors in parsing headers:

  1. <severity = Error,
    location = <SourceLocation file ‘D:\android-ndk-r9b/platforms/android-14/arch-arm/usr/include\sys/_wchar_limits.h’
    , line 99, column 10>,
    details = ‘“Invalid WCHAR_MAX value. Check your toolchain!”’>
    ====

*** Found errors - can not continue
Traceback (most recent call last):
File “D:\cocos2d-x-3.3\tools\bindings-generator/generator.py”, line 1418, in
main()
File “D:\cocos2d-x-3.3\tools\bindings-generator/generator.py”, line 1414, in main
generator.generate_code()
File “D:\cocos2d-x-3.3\tools\bindings-generator/generator.py”, line 1087, in generate_code
self._parse_headers()
File “D:\cocos2d-x-3.3\tools\bindings-generator/generator.py”, line 1123, in _parse_headers
raise Exception(“Fatal error in parsing headers”)
Exception: Fatal error in parsing headers
----------------------------
Generating lua bindings fails.
----------------------------

The funny thing that when I generate standard Lua bindings in …/cocos2d-x-3.3/tools/tolua using genbindings.py, then everything works fine. So I have no idea why there is a problem with plugin-x.

Wow. That’s funny…
I just compared, for example cocos2dx_spine.ini and cocos2dx_pluginx.ini.
There is a variable extra_arguments
cocos2dx_spine.ini:

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

but in
cocos2dx_pluginx.ini:

extra_arguments = %(android_headers)s %(clang_headers)s %(cxxgenerator_headers)s %(cocos_headers)s %(android_flags)s %(clang_flags)s %(cocos_flags)s

There was %(extra_flags)s missing! I added this argument and genbindings-lua.py succeded!

1 Like