C++ 为tcl使用SWIG转换代码的segfault
我的程序有一个分段错误 实际上,我用C++编写了一个库,并使用SWIG。 segfault发生在以下位置:C++ 为tcl使用SWIG转换代码的segfault,c++,segmentation-fault,tcl,swig,C++,Segmentation Fault,Tcl,Swig,我的程序有一个分段错误 实际上,我用C++编写了一个库,并使用SWIG。 segfault发生在以下位置: return Tcl_NewIntObj(static_cast< int >(value)); 在包装中: 第1712行: SWIGINTERNINLINE Tcl_Obj* SWIG_From_long (long value) { if (((long) INT_MIN <= value) && (value <= (long) IN
return Tcl_NewIntObj(static_cast< int >(value));
在包装中:
第1712行:
SWIGINTERNINLINE Tcl_Obj*
SWIG_From_long (long value)
{
if (((long) INT_MIN <= value) && (value <= (long) INT_MAX)) {
return Tcl_NewIntObj(static_cast< int >(value)); //1712
} else {
return Tcl_NewLongObj(value);
}
}
3774:
SWIG_Tcl_SetConstantObj(interp,“MESSAGE_NEW”,SWIG_From_int(static_cast(MESSAGE_NEW)));
其中消息_NEW在枚举中定义,为0
拜托,如果你有什么想法,请帮帮我。谢谢大家!
编辑:
我找到了问题的原因:这是一个链接错误
我为此问题创建了一个新线程:
我发现了这个问题
请参阅我的其他帖子:
我的图书馆有一个未定义的符号。我定义了它并解决了问题
混淆了,我的程序在TCL包装器函数中间崩溃了(我的未定义的符号根本没有涉及到)。我真的不知道为什么,但就是这样
希望它能帮助别人 我发现了问题
请参阅我的其他帖子:
我的图书馆有一个未定义的符号。我定义了它并解决了问题
混淆了,我的程序在TCL包装器函数中间崩溃了(我的未定义的符号根本没有涉及到)。我真的不知道为什么,但就是这样
希望它能帮助别人
SWIGINTERNINLINE Tcl_Obj*
SWIG_From_long (long value)
{
if (((long) INT_MIN <= value) && (value <= (long) INT_MAX)) {
return Tcl_NewIntObj(static_cast< int >(value)); //1712
} else {
return Tcl_NewLongObj(value);
}
}
SWIGINTERNINLINE Tcl_Obj *
SWIG_From_int (int value)
{
return SWIG_From_long (value); //1722
}
SWIG_Tcl_SetConstantObj(interp, "MESSAGE_NEW", SWIG_From_int(static_cast< int >(MESSAGE_NEW)));