SWIG包装一个上古的代码库的时候,遇到一个问题:
Error: Nothing known about namespace '__gnu_cxx'
原因:代码中用来一些 __gnu_cxx名空间里面的函数来实现原子操作。而SWIG不认识这个名空间。所以悲剧了。
解决方案:
在所有用到 __gnu_cxx 里面东西的函数第一行加上:
using namespace __gnu_cxx;
在其他地方,可直接指定 全名:
__gnu_cxx::XXXXX
。
Done.
本文解决了一个使用SWIG包装旧代码库时遇到的问题:SWIG无法识别__gnu_cxx名空间。通过在相关函数中引入该名空间或者直接使用全名的方式解决了此问题。
SWIG包装一个上古的代码库的时候,遇到一个问题:
Error: Nothing known about namespace '__gnu_cxx'
原因:代码中用来一些 __gnu_cxx名空间里面的函数来实现原子操作。而SWIG不认识这个名空间。所以悲剧了。
解决方案:
在所有用到 __gnu_cxx 里面东西的函数第一行加上:
using namespace __gnu_cxx;
在其他地方,可直接指定 全名:
__gnu_cxx::XXXXX
。
Done.
489
3754

被折叠的 条评论
为什么被折叠?