0

私は静的ライブラリを持っていますlibTheLib.a(他の誰かによってコンパイルされました)。私はそれを私のプログラムにリンクしようとしています。この lib がリンクに必要とする関数の 1 つがGetName. プロジェクトに関数void GetName(char*, int)がありますが、リンカーはまだシンボルが見つからないと不平を言っています。ライブラリが別の署名を持つ関数を探しているのではないかと推測しています。nm探しているものを正確に明らかにすることを期待して使用してみましたが、それが言うのは

         U _GetName

これはあまり役に立ちません。探しているシンボルの署名を見つける別の方法はありますか? または、署名はシンボルの一部ではなく、実際にその名前の任意のシンボルにリンクできますか?

lib は でC、私のプログラムは で書かれC++ていますが、関数は次のように宣言されています。

extern "C" GetName(char* c, int i) {...}

また、違いが生じる場合は、これはclangではなくを使用しています (XCode を使用)gcc

4

1 に答える 1