我有兩個第三方庫A.so和B.so,我用我的可執行文件executable.exe連接在一起。 A.so包含由B.so解決的錯誤,那就是,說:正確的鏈接順序與ifort和.so庫
A::subroutine1()
可以用浮點異常崩潰稱爲(FP算術錯誤)時B::subroutine1()
是一個固定的實現,應總是被調用而不是A::subroutine1()
。
A和B的正確鏈接順序是什麼?我現在正在做的是:
ifort <....> executable.exe <...> -lA -lB
我仍然得到了浮點異常,不時(誤差不重複性準確,所以這是非常難以調試)。但是,當它崩潰時,程序讓我知道A :: subroutine1()是罪犯 - 因此出於某種原因,錯誤版本的subroutine1()被鏈接。
我會翻轉鏈接順序作爲第一刺,但有沒有一個工具,我可以用來檢查executable.exe來查看哪些版本的subroutine1()將在運行時調用?
謝謝!