cocos2dx3.1.1 lua 独立自定义socket类绑定问题

按照要求配置的r9b的ndk,按照要求安装的环境,xcode5.1.1

求大神帮忙

故障报错如下:

txxxxmac:tolua txxxx$ ./genbindings_mysocket.py
PYTHON_BIN not defined, use current python.
generating userconf.ini…
Generating bindings for mysocket…
Using userconfig
(‘androidndkdir’, ‘/Android-op/android-ndk-r9b’), (‘clangllvmdir’, ‘/Android-op/android-ndk-r9b/toolchains/llvm-3.3/prebuilt/darwin-x86_64’), (‘cocosdir’, ‘/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x’), (‘cxxgeneratordir’, ‘/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator’), (‘extra_flags’, ‘’)]

… Generating bindings for target lua

… … Processing section mysocket

====
Errors in parsing headers:

  1. <severity = Warning,
    location = <SourceLocation file ‘/Android-op/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”>
  2. <severity = Warning,
    location = <SourceLocation file ‘/Android-op/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”>
  3. <severity = Warning,
    location = <SourceLocation file ‘/Android-op/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”>
  4. <severity = Warning,
    location = <SourceLocation file ‘/Android-op/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”>
  5. <severity = Warning,
    location = <SourceLocation file ‘/Android-op/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”>
  6. <severity = Warning,
    location = <SourceLocation file ‘/Android-op/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”>
    ====

Traceback (most recent call last):
File “/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator/generator.py”, line 1306, in
main()
File “/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator/generator.py”, line 1302, in main
generator.generate_code()
File “/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator/generator.py”, line 980, in generate_code
self._parse_headers()
File “/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator/generator.py”, line 1017, in _parse_headers
self._deep_iterate(tu.cursor)
File “/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator/generator.py”, line 1041, in _deep_iterate
self._deep_iterate(node, depth + 1)
File “/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator/generator.py”, line 1041, in _deep_iterate
self._deep_iterate(node, depth + 1)
File “/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator/generator.py”, line 1021, in _deep_iterate
if cursor.kind == cindex.CursorKind.CLASS_DECL:
File “/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator/clang/cindex.py”, line 1248, in kind
return CursorKind.from_id(self._kind_id)
File “/Users/txxxx/Desktop/rpg/frameworks/cocos2d-x/tools/bindings-generator/clang/cindex.py”, line 624, in from_id
raise ValueError,‘Unknown cursor kind’
ValueError: Unknown cursor kind

Generating lua bindings fails.

补充一下,运行原始的 ./genbindings.py 可以成功完成,但是Errors in parsing headers:的6个警告还有

参考配置ini等文件的方式是:http://www.cocoachina.com/bbs/read.php?tid=196416

感觉我自导自演了一把~

还是感谢大家~问题已经解决。

问题是:在lua绑定的.h头文件中,导入了未绑定lua的类头,调整一下就可以成功生成绑定

Hi,
关于 “ 问题是:在lua绑定的.h头文件中,导入了未绑定lua的类头,调整一下就可以成功生成绑定 ”
能否告诉一下你的调整的思路,我在js-bingding的时候也遇到相同问题

:14::14::14::14::14::14::14:

:14: :14: :14:

楼主怎么解决的?

楼主怎么解决的哦?

楼主这个问题解决了吗?

:14: :14: :14: :14: :14:

楼主问题解决了么?

楼主能说的具体点么?

请问你知道这个问题怎么解决了么?

cocos2dx3.1.1 lua 独立自定义socket类绑定问题 你知道怎么解决么? 我也遇到了类似的问题了

js 也有这样的问题,能具体说一下嘛

将ODSocket绑定到lua时也出现楼主说到的问题(raise ValueError,'Unknown cursor kind),原因在于部分头文件无法生成,ODSocket.h中:

#ifdef WIN32
#include <winsock.h>
typedef int socklen_t;
#else
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <netdb.h>
#include <fcntl.h>
#include “errno.h”
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <arpa/inet.h>
typedef int SOCKET;

//#pragma region define win32 const variable in linux
#define INVALID_SOCKET -1
#define SOCKET_ERROR -1
//#pragma endregion
#endif

上面这段代码导致无法生成lua绑定类,我这的解决方式是将部分非必须的include头文件移到cpp中即可,ODSocket.h改为:
#ifdef WIN32
#include <winsock.h>
typedef int socklen_t;
#else
typedef int SOCKET;

//#pragma region define win32 const variable in linux
#define INVALID_SOCKET -1
#define SOCKET_ERROR -1
//#pragma endregion
#endif

ODSocket.cpp中引入相关头文件:
#ifdef WIN32
#include <winsock.h>
typedef int socklen_t;
#else
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <netdb.h>
#include <fcntl.h>
#include “errno.h”
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <arpa/inet.h>
#endif