同じソリューション内の別のに対して、一つのプロジェクトでライブラリ:「DUMPBIN /シンボルを使用して未解決の外部シンボルVC9コンパイラのシンボル名の不一致が原因 をリンクしようとしたとき、私は次のエラーメッセージを見ている
CPTemplate.obj : error LNK2019: unresolved external symbol "public: long __thiscall MPADOFieldList::GetField(wchar_t *,struct Field * *)" ([email protected]@@[email protected]@@Z) referenced in function "public: virtual long __stdcall CCPTemplate::GetRootStorage(struct IMPRootStore * *)" ([email protected]@@[email protected]@@Z)
GetFieldの「私は反対 をリンクしています静的ライブラリには、のために異なるシンボルを明らかにする 『:ADOField『『対』フィールド』メソッドを
[email protected]@@[email protected]@@Z (public: long __thiscall MPADOFieldList::GetField(wchar_t *,struct ADOField * *))
明らかに違いがあります』。 「フィールドは、」参照ヘッダ内 定義される:
typedef interface ADOField Field;
次のように「GetFieldの」メソッドの宣言がある:
HRESULT GetField(BSTR bstrFieldName, Field** rpField);
+1は完全なタグ付けに使用します。 – ildjarn
ライブラリはバイナリと同じコンパイラでコンパイルされ、同じ設定を使用していますか(特にBSTR引数のためにここでの文字列処理を考えていますか? –
同じコンパイラ、同じマシン、そして私が(cl.exeのVisual Studioの呼び出しから)同じ設定をすることができます。 – sctb