【已解决】3.2版本 运行genbindings.py报错

求助:

LibclangError: %1 不是有效的 Win32. To provide
e Config.set_library_path() or Config.set_library_file().

操作系统win8.1

完整输入如下:


E:\code\cpp\cocos3d\tools\tolua>genbindings.py
generating userconf.ini…
Generating bindings for cocos2dx…
Using userconfig
(‘androidndkdir’, ‘E:\soft\android-ndk-r9d’), (‘clangllvmdir’, ‘E:\soft\a
ndroid-ndk-r9d\toolchains\llvm-3.3\prebuilt\windows’), (‘cocosdir’, ‘E:\cod
e\cpp\cocos3d’), (‘cxxgeneratordir’, ‘E:\code\cpp\cocos3d\tools\bindings-
generator’), (‘extra_flags’, ‘-D__WCHAR_MAX__=0x7fffffff -U__MINGW32__’)]

… Generating bindings for target lua

… … Processing section cocos2d-x

Traceback (most recent call last):
File “E:\code\cpp\cocos3d\tools\bindings-generator/generator.py”, line 1403, i
n
main()
File “E:\code\cpp\cocos3d\tools\bindings-generator/generator.py”, line 1398, i
n main
generator = Generator(gen_opts)
File “E:\code\cpp\cocos3d\tools\bindings-generator/generator.py”, line 903, in
init
self.index = cindex.Index.create()
File “E:\code\cpp\cocos3d\tools\bindings-generator\clang\cindex.py”, line 2090
, in create
return Index(conf.lib.clang_createIndex(excludeDecls, 0))
File “E:\code\cpp\cocos3d\tools\bindings-generator\clang\cindex.py”, line 141,
in get
value = self.wrapped(instance)
File “E:\code\cpp\cocos3d\tools\bindings-generator\clang\cindex.py”, line 3369
, in lib
lib = self.get_cindex_library()
File “E:\code\cpp\cocos3d\tools\bindings-generator\clang\cindex.py”, line 3401
, in get_cindex_library
raise LibclangError(msg)
LibclangError: %1 不是有效的 Win32. To provide a path to libclang us
e Config.set_library_path() or Config.set_library_file().

Generating lua bindings fails.

我也碰到这个问题,请问lz解决了吗

Python、pyyaml、pyCheetah都用32位版本(ps:tolua目录下README.mdown里有下载链接)
如果还不行的话,就去github上下载最新的bindings-generator(平ps:下载地址: https://github.com/guojian822/bindings-generator)

可以了!多谢! 不过有好多警告 运行倒正常


====
Errors in parsing headers:
1. <severity = Warning,
    location = <SourceLocation file None, line 179, column 9>,
    details = "'__WCHAR_MAX__' macro redefined">
2. <severity = Warning,
    location = <SourceLocation file 'E:\\soft\\android-ndk-r9d\\toolchains\\llvm
-3.3\\prebuilt\\windows/lib/clang/3.3/include\\float.h', line 86, column 9>,
    details = "'FLT_DIG' macro redefined">
3. <severity = Warning,
    location = <SourceLocation file 'E:\\soft\\android-ndk-r9d\\toolchains\\llvm
-3.3\\prebuilt\\windows/lib/clang/3.3/include\\float.h', line 87, column 9>,
    details = "'DBL_DIG' macro redefined">
4. <severity = Warning,
    location = <SourceLocation file 'E:\\soft\\android-ndk-r9d\\toolchains\\llvm
-3.3\\prebuilt\\windows/lib/clang/3.3/include\\float.h', line 106, column 9>,
    details = "'FLT_MAX' macro redefined">
5. <severity = Warning,
    location = <SourceLocation file 'E:\\soft\\android-ndk-r9d\\toolchains\\llvm
-3.3\\prebuilt\\windows/lib/clang/3.3/include\\float.h', line 107, column 9>,
    details = "'DBL_MAX' macro redefined">
6. <severity = Warning,
    location = <SourceLocation file 'E:\\soft\\android-ndk-r9d\\toolchains\\llvm
-3.3\\prebuilt\\windows/lib/clang/3.3/include\\float.h', line 114, column 9>,
    details = "'FLT_MIN' macro redefined">
7. <severity = Warning,
    location = <SourceLocation file 'E:\\soft\\android-ndk-r9d\\toolchains\\llvm
-3.3\\prebuilt\\windows/lib/clang/3.3/include\\float.h', line 115, column 9>,
    details = "'DBL_MIN' macro redefined">
====
 

可以了 按照3楼的方法 安装32位的python

这是什么地方的错?我没有看到过:3:

就运行genbindings.py的是时候 是warning

求问为什么我这边会报这样的错误 我的是windows下的

配置ini里面
cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/cocos/MyCustom -I%(cocosdir)s/cocos/base -I%(cocosdir)s/cocos/platform/android -I%(cocosdir)s/cocos/platform/win32 -I%(cocosdir)s/cocos/platform/winrt
我还多加了几个根目录 因为之前还报其他文件找不到

你这是头文件错了吧 应该在vs里直接编译不过的 你试试

肯定能编译啊。。。VS里面都随便编译的。。。。就是绑定不上

安装32位python也可以了,如果之前安装的是64位python没有卸载的同学,可以修改genbindings.py文件中的python路径为32位python的路径即可(PYTHON_BIN)

怎么改为32位python的路径,能说一下吗?

我的和你现在的一模一样,这个算可以了吗?我的前面有个PYTHON_BIN not defined,会不会有问题?

你这个是 环境变量里没加吧?

下面这个函数返回的时候,修改一下指定的python就可以了
def _check_python_bin_env():
‘’’ Checking the environment PYTHON_BIN, which will be used for building
‘’’
PYTHON_BIN = ‘D:\ProgramFiles\Python27-32\python’
return PYTHON_BIN

外单位的氛围非法违法而王菲王菲

:142: :13: :10: :10: :8: :80: :04:

:12: :141: :013: :12: :11: :10: :09: :08: