[英]C++ Exception not caught (Qt Project)
我的問題如下:
有一個名為Interface.so的共享庫,它基於ICE(Internet通信引擎)和類似包裝程序的頻繁執行的任務。 這些任務之一是注冊一個主題(類似於id)。 如果此主題尚不存在,則ICE會引發一個名為NoSuchTopic的異常。
如果我將Interface.so與獨立的Qt應用程序一起使用,則可能會捕獲NoSuchTopic異常並在catch塊中創建主題(catch塊位於Interface.so中)。 但是我想在飛行模擬器的插件中做同樣的事情,它本身就是一個共享對象-在這里,Interface.so中前面提到的catch塊未捕獲到異常。 而是,飛行模擬器崩潰,提示
terminate called after throwing an instance of 'IceStorm::NoSuchTopic'
nm -C -D表示Interface.so中未定義'IceStorm :: NoSuchTopic'。 這個可以嗎? 還是應該在哪里找到定義的參考? 我已經為libIceStorm.so(libs + = -lIceStorm)添加了條目,其中定義了IceStorm :: NoSuchTopic(根據nm),但這不會改變任何內容!
我也嘗試過'-Wl,-E',但是我不知道我是否在Qt Creator中正確設置了此選項。 這完全有幫助嗎?
我將不勝感激每一個提示。
從源代碼構建時,聽起來像以前的版本使用了“ no-exceptions”標志。 它為構建增加了很多時間,因此很多人放棄了它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.