libgcc_s_sjlj-1.dll
에 의존하는 타사 라이브러리가 있습니다. 내 프로그램은 MSYS2 (mingw-w64)에서 컴파일되며 libgcc_s_dw2-1.dll
에 의존합니다.Windows에서 컴파일러 + libgcc의 다른 버전이 발생했습니다
타사 라이브러리는 순수 바이너리 (소스 없음)입니다. 또한 libgcc_s_sjlj-1.dll
과 libgcc_s_dw2-1.dll
은 모두 32 비트이므로 아키텍처와 관련된 문제는 아니라고 생각합니다.
결과는 명백합니다. libgcc_s_dw2-1.dll
을 기반으로 컴파일 된 프로그램은 libgcc_s_sjlj-1.dll
을 기반으로하는 타사 라이브러리에서 작동하지 않을 수 있습니다. 내가 얻는 것은 누락 된 진입 점 __gxx_personality_sj0
입니다.
필자는 툴체인을 제 3 자의 libgcc_s_sjlj-1.dll
과 일치 시키도록 조정할 수는 있지만, 그 작업을 수행하는 데 얼마나 많은 노력이 필요할지 모르겠다. 이 setjmp/longjmp 버전을 사용하여 MSYS2에서 libgcc dll과 같은 변종을 찾을 수 없습니다. MSYS2에서 가지고 있던 모든 바이너리가이 libgcc_s_dw2-1.dll
모듈 위에 있기 때문에 전체 툴 체인을 제거해야 할까 두렵다.
내 목표는 간단합니다. 내 코드가 libgcc_s_dw2-1.dll
대신 libgcc_s_sjlj-1.dll
위에 놓 이도록 솔루션을 찾고 싶습니다. 그러나 바보 같은 질문을하는 것이 단순히 가능하지 않기 때문에 단순히 묻는 지 모르겠습니다.