由于使用在Ubuntu上使用的MinGW交叉编译器是sjlj而不是dw2,与使用dw2异常处理编译的库的兼容性问题困扰着我的工作。 自己尝试解决这个问题真的很痛苦。我需要构建一个自定义的MinGW交叉编译器,使其具有dw2而非sjlj。否则,我将继续出现像“undefined reference to _unwind_resume”这样的错误。如果有人可以指导我正确的方向,那么我将非常感激。
尝试使用MXE(MinGW Cross Environment) http://mxe.cc/ 据我测试,MXE是按照MinGW.org(Windows上的MinGW)的说明构建的(意味着dw2)。Mingw-w64和大多数发行版的repos也使用sjlj,所以不行。MXE唯一的“问题”是它只构建静态库,但它包含了相当多的库。这也可能不是问题。如果这不可接受,请按照http://mingw.org/wiki/LinuxCrossMinGW中的步骤进行操作。如果脚本由于函数名而失败,请转到.function文件中的第130行,并注释掉关于local的三行内容。