1

サードパーティの DLL にリンクしようとしています。Cygwin で C をコンパイルする方法、Visual Studio で C++ をコンパイルする方法、Visual Studio で C# をコンパイルする方法の 3 つを試しました。プログラムをコンパイルするたびに、次のエラーが発生します。

Cygwin: '__imp__IEC61850_Create' への未定義の参照

Visual S: LNK2019: 未解決の外部シンボル '__imp__IEC61850_Create'

お気づきかもしれませんが、私は DLL にある関数 'IEC61850_Create' を呼び出そうとしていますが、'__imp__' 接頭辞が付いたエラーが常に表示されます。DLL はサードパーティであるため、ソースを表示できません。私が検索した他の場所では、人々は通常、付随する .o または .lib ファイルについて話します。この場合、私が持っている唯一のリソースは .dll です。

他の誰かがこのようなことを経験したことがありますか、またはライブラリにリンクする方法を知っていますか? 必要に応じてサンプル コードを提供できます。

ありがとう。

4

1 に答える 1

1

ファイルにリンクする必要があるのは、静的リンクに必要なスタブ.libしかないためです。__imp__

ただし、できることは、.defファイルを作成し、それを使用libしてファイルに変換すること.libです。

または、空の関数を含むダミー プロジェクトを作成してファイルを作成し.dll、ファイル.libにリンクしてから、実際のプログラムで実際のプロジェクトを使用することもできます。.lib.dll

詳細については、Microsoft KB Article 131313を参照してください。

于 2012-11-08T11:43:42.043 に答える