0

こんにちはスタックオーバーフローのユーザー。

エラーの説明:

ミニ プロジェクトでは、portaudio ライブラリを使用することにしました (Windows 7 64 ビットと C++ を使用しています): http://portaudio.com/

ライブラリを使用する前に、別の Visual Studio プロジェクトで .DLL ファイルをビルドし、その出力を自分の Visual Studio 2010 プロジェクト (32 ビット) にリンクする必要がありました。この単純なコードを使用しようとしました:

#include <iostream>
#include <portaudio.h>
using namespace std;
void main()
{
  cout << "Hello World!" << endl;   cout << "Welcome to C++ Programming" << endl; }

次のエラー メッセージが表示されます: 致命的なエラー C1083: インクルード ファイルを開けません: 'portaudio.h': そのようなファイルまたはディレクトリはありません

個人的には、問題は .DLL の作成ではなく、リンクの問題だと思います。

私の試み:

まず、このガイドに従おうとしました: http://portaudio.com/docs/v19-doxydocs/compile_windows.html

このガイドに従って、リリース フォルダー内にコンパイル済みの .DLL および .Lib ファイルを取得しました (画像 1)。

その後、Visual Studio 2010 を portaudio_x86.lib にリンクし、それが配置されているディレクトリ (.DLL 作成の出力フォルダー) を含めます (画像 2 および 3)。

私自身、外部ライブラリを使用した経験は非常に少なく、それらを自分でコンパイルするときの経験はさらに少ない. 私は以前のプログラミングの経験がほとんどないので、何か重要なものが欠けているだけだと確信しています。

.DLL および .Lib ファイルで満たされたフォルダー含めるライブラリをリンカに伝える 含めるディレクトリをプロジェクトに指示します (この場合、.DLL と .Lib があるフォルダー

4

1 に答える 1

2

コンパイラはportaudio.hヘッダー ファイルを見つけられません。最後のスクリーンショットのように、追加のインクルード ディレクトリ<portaudio.h>では、バイナリ ( .lib.dll) がある場所ではなく、ファイルがあるディレクトリを指す必要があります。ファイルへのパスは.lib明示的に指定する必要があります (最後のスクリーンショットの隣にあるようにportaudio.lib、フル パスだけでなく)、VC++ ディレクトリプロパティ ページで設定する必要があります。これは、インクルード ディレクトリを設定するのに適した場所でもあります。

于 2012-05-19T22:16:08.553 に答える