私の問題は次のとおりです。
Interface.soと呼ばれる共有ライブラリがあります。これはICE(インターネット通信エンジン)に基づいており、頻繁に繰り返されるタスクのラッパーのようなものです。これらのタスクの1つは、トピックに登録することです(idと同様)。このトピックがまだ存在しない場合、ICEはNoSuchTopicと呼ばれる例外をスローします。
スタンドアロンのQtアプリケーションでInterface.soを使用すると、NoSuchTopic例外をキャッチして、catchブロックにトピックを作成できます(catchブロックはInterface.soにあります)。しかし、それ自体が共有オブジェクトであるフライトシミュレーターのプラグインでも同じことをしたいと思います。ここでは、Interface.soで前述したcatchブロックによって例外がキャッチされません。代わりに、フライトシミュレータがクラッシュして次のように表示されます
terminate called after throwing an instance of 'IceStorm::NoSuchTopic'
nm -C -Dは、「IceStorm::NoSuchTopic」がInterface.soで未定義であることを示しています。これでいい?または、定義を見つけるための参照があるべきですか?私はすでにlibIceStorm.so(libs + = -lIceStorm)のエントリを追加しました。ここで、IceStorm :: NoSuchTopicが定義されています(nmによる)が、それは何も変更しません!
'-Wl、-E'も試しましたが、QtCreatorでこのオプションを正しく設定したかどうかわかりません。これはまったく役に立ちますか?
すべてのヒントに感謝します。