0

このチュートリアルを見て、このエラーが発生する例を再現しようとしました:

Error   1   error LNK2019: unresolved external symbol __imp__GetXyz@0 referenced in function _main  app.obj app

Web サイトからソースをダウンロードして Visual Studio でプロジェクトを実行すると動作しますが、自分の Visual Studio ソリューションで元のプロジェクトからコードをコピーしても動作しません。プロジェクトの設定に違いないと思いますが、わかりません。どうする?

4

2 に答える 2

2

リンクする必要のある外部ライブラリが欠落しているようです。GetXyz関数を提供するものはすべて欠落しています。

動作するソリューションを開き、プロジェクト、プロパティ、リンカー、入力を右クリックして、それらの追加の依存関係がリストされていることを確認します。同じものを自分のプロジェクトに追加する必要があります。

于 2012-09-19T09:03:35.147 に答える
2

プロジェクト設定内のリンカー設定に XyzLibrary.lib を追加する必要があります。

#pragma comment(lib,"xyzlibrary.lib")VisualStudio を使用している場合は、コードで直接実行することもできます。

これら 2 つのアプローチを使用せずに特定のサンプルで機能する理由は、ソリューション ファイルで依存関係が XyzExe から XyzLib に設定されており、XyzProject のリンカー設定で「Link Library Dependencies」が true に設定されているためです。ただし、ビルドに重要なデータをソリューション ファイル内に保存するのは好きではないため、このアプローチにはあまり熱心ではありません (大規模なプロジェクトの場合、開発者のソリューション ファイルはビルド システムのソリューション ファイルとは異なる場合があります)。

于 2012-09-19T09:06:03.913 に答える