extern "C"
リンケージのように 1 つの関数をエクスポートするライブラリがあります。ライブラリで Qt を使用していますが、QLibrary::resolve()
QObject から派生したクラスを作成すると、エクスポートされた関数を解決できません。を使用するnm -C path_to_lib
と、そこにあることがわかります:
00000000000103a0 T GetMyPlugin
それでもQLibrary::resolve()
0を返します。QObjectから派生した(およびmocを使用した)クラスを削除した後でのみ、シンボルが正常に解決されます。
では、シンボルが明らかにそこにあるのに、なぜ失敗し続けるのだろうか?