【发布时间】:2018-05-31 22:17:34
【问题描述】:
我有一个依赖于libgcc_s_sjlj-1.dll 的第三方库。
我自己的程序是在MSYS2(mingw-w64)下编译的,它依赖于libgcc_s_dw2-1.dll。
请注意,第三方库是纯二进制文件(无源)。另请注意,libgcc_s_sjlj-1.dll 和 libgcc_s_dw2-1.dll 都是 32 位的,所以我认为这与架构无关。
结果很明显,基于libgcc_s_dw2-1.dll 编译的程序无法与基于libgcc_s_sjlj-1.dll 的第三方库一起使用。我得到的是一个缺少的入口点__gxx_personality_sj0。
我绝对可以尝试调整我的工具链以与第三方的libgcc_s_sjlj-1.dll 保持一致,但我不知道我需要付出多少努力才能做到这一点。在使用这个 setjmp/longjmp 版本的 MSYS2 下,我没有找到这样的 libgcc dll 变体。我什至担心我需要消除整个工具链,因为我在 MSYS2 下拥有的所有二进制文件都位于这个 libgcc_s_dw2-1.dll 模块的顶部。
我的目标很简单:我想找到一个解决方案,以便我的代码位于libgcc_s_sjlj-1.dll 之上,而不是libgcc_s_dw2-1.dll。但我不知道我是否只是因为这是不可能的而问一个愚蠢的问题。
【问题讨论】: