Visual Studio 2010, проблемы с компиляцией и компоновкой PortAudio DLL, C++

Привет пользователям переполнения стека.

Описание ошибки:

Для мини-проекта я решил использовать библиотеку portaudio (я использую 64-разрядную версию Windows 7 и C++): http://portaudio.com/

Прежде чем даже использовать библиотеку, мне пришлось создать файл .DLL в другом проекте Visual Studio, а затем связать вывод с моим собственным проектом 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):

После этого я пытаюсь связать свою визуальную студию 2010 с portaudio_x86.lib и указать каталог, в котором он находится (выходная папка создания .DLL) (изображения 2 и 3)

У меня самого очень плохой опыт использования внешних библиотек и еще меньше опыта их самостоятельной компиляции. У меня мало опыта с предыдущим программированием, поэтому я почти уверен, что просто упускаю что-то важное.

Папка, заполненная файлами .DLL и .LibСообщение компоновщику, какую библиотеку включить Сообщение проекту, в какой каталог  include (в данном случае папка, в которой находятся .DLL и .Lib


person Marc Pilgaard    schedule 19.05.2012    source источник


Ответы (1)


Компилятору не удается найти заголовочный файл portaudio.h. Как видно из последнего снимка экрана, в разделе Дополнительные каталоги включения вам нужно указать каталог, в котором находится файл <portaudio.h>, а не двоичные файлы (.lib, .dll). Путь к файлу .lib необходимо либо указать явно (как на предпоследнем снимке экрана, не только portaudio.lib, но и полный путь), либо указать на странице свойств Каталоги VC++, которая также является предпочтительное место для установки ваших включаемых каталогов.

person irobot    schedule 19.05.2012
comment
Спасибо большое, с вашей помощью разобрался. Изменены все каталоги в VC++ в сторону проекта .DLL, а также указание на portaudio.h - person Marc Pilgaard; 20.05.2012