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头文件。根据上一个屏幕截图,在Additional Include Directories中,您需要指向<portaudio.h>文件所在的目录,而不是二进制文件 ( .lib, .dll) 所在的目录。文件的路径.lib需要明确指定(如最后一个屏幕截图的旁边,不仅仅是portaudio.lib完整路径)或在VC++ 目录属性页面中设置,这也是设置包含目录的首选位置。

于 2012-05-19T22:16:08.553 回答