* .libからのいくつかの外部関数を使用するレガシープロジェクトを継承しました。私が聞いたところでは、* .libを使用するための構文は正しく、この は、使用したVisual Studioのどのバージョンでもビルド可能でした。 (つまり、extern "C"プロトタイプファイルがあり、すべての関数シグネチャが正しい)。C++ Visual Studio、.libファイルを使用して未解決の外部シンボル
構築し、私が手に「エラーLNK2019:未解決の外部シンボル_A86_ReadConfigReg機能で参照12 @ ...」
私は、これは*の.lib以降* .LIBファイルに関連していることをかなり確信していますファイルには名前に "A86"が含まれています...同じ名前の* .dllもあります。
私はプロジェクトのプロパティ - >リンカ - >入力に行き、* .libファイル名を "Additional Dependencies"に記載しましたが、運はありません。 * .lib & * .dllを実行可能な場所にコピーして、インクルードディレクトリを追加しようとしました。しかし、運がない。
このエラーを修正するにはどうすればよいですか?
私はこれをやったのと、ダンプ・ビンからの出力は、ライン上映があります: "15 A86_ReadConfigRegを"。次のステップは何ですか? – user2913869
@ user2913869リンカーの問題の最新の回答を確認してください。 –
呼び出し規約は実際には__cdecl(/ Gd)に設定されていました。私は元の質問で述べたように、ヘッダーファイルは実際に "extern" C "{}と括弧の間にリストされたすべての関数プロトタイプを持っています。プロトタイプがこのように定義されていることがわかります:int _stdcall A86_ReadConfigReg(int iHandle、 DWORD dwOffset、DWORD * pdwResult);したがって、 "_stdcall"ラベルを "__cdecl"に変更してから完全に削除しましたが、それでもビルドできません。 – user2913869