Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

С++ линкинг библиотеки ссылка на неразрешенный символ

dtn den Ученик (173), на голосовании 4 месяца назад
#include <iostream>

#include "D:\\vs2022\\VC\\Tools\\MSVC\\14.40.33807\\include\\portaudio\\include\\portaudio.h"


using namespace std;


int main()
{

const PaError initError = Pa_Initialize();
if (initError != paNoError)
{
std::cerr << "Failed to initialize PortAudio: " << Pa_GetErrorText(initError) << std::endl;
return 1;
}

}

Ошибка LNK2019 ссылка на неразрешенный внешний символ Pa_Initialize в функции main. я не понимаю почему вызывается ошибка. как это исправить? пробовала подключать все файлы с библиотеки но ошибок стало еще больше.
Голосование за лучший ответ
Татьяна Просветленный (36384) 5 месяцев назад
Ошибка LNK2019 возникает из-за того, что компоновщик не может найти реализацию функции Pa_Initialize, даже если заголовочный файл portaudio.h был найден. Это происходит потому, что компоновщик не видит файл библиотеки (обычно .lib файл), содержащий реализацию этой функции.

шаги, чтобы решить эту проблему:

Убедитесь, что у вас есть скомпилированные файлы библиотеки PortAudio. Обычно это файлы portaudio.lib и portaudio.dll.

Добавьте путь к библиотеке в настройки компоновщика. В Visual Studio:

Щелкните правой кнопкой мыши на проекте в Solution Explorer и выберите "Properties".
Перейдите к "Configuration Properties" -> "Linker" -> "General".
В поле "Additional Library Directories" добавьте путь к папке, где находится portaudio.lib.
Убедитесь, что библиотека подключена к проекту. В Visual Studio:

Перейдите к "Configuration Properties" -> "Linker" -> "Input".
В поле "Additional Dependencies" добавьте portaudio.lib.
Убедитесь, что portaudio.dll находится в той же директории, что и ваш исполняемый файл, или добавьте его в системный PATH.


Примерный пошаговый процесс для Visual Studio:

Скачайте и распакуйте PortAudio (если у вас его еще нет) из официального репозитория или другого источника.

Скомпилируйте библиотеку PortAudio. Вы получите файлы portaudio.lib и portaudio.dll.

Добавьте путь к библиотеке:

Щелкните правой кнопкой мыши на проекте в Solution Explorer.
Выберите "Properties".
Перейдите в "Configuration Properties" -> "Linker" -> "General".
В поле "Additional Library Directories" добавьте путь к папке, где находится portaudio.lib.
Подключите библиотеку:

Перейдите в "Configuration Properties" -> "Linker" -> "Input".
В поле "Additional Dependencies" добавьте portaudio.lib.
Убедитесь, что portaudio.dll находится либо в папке с вашим исполняемым файлом, либо в одной из папок, указанных в PATH системы.
dtn denУченик (173) 5 месяцев назад
что значит скомпилированы? как это понять?
Татьяна Просветленный (36384) dtn den, Перевести в машинный язык компьютера
dtn denУченик (173) 5 месяцев назад
portaudio.lib такого файла нет( хотя на офф сайте файл скачивала просто распоковала и папку со всеми файлами в проект перенесла
Татьяна Просветленный (36384) dtn den, проверяй всегда на сайте https://www.onlinegdb.com/online_c++_compiler тут все проверено и если код работает то он будет работать а если уже не работает что-то у тебя не так установлено на компьютере
ТатьянаПросветленный (36384) 5 месяцев назад
если https://www.onlinegdb.com/online_c++_compiler тут работает а у тебя нет еще
dtn denУченик (173) 5 месяцев назад
как установить portaudio? я его скачала сделала ка вы написали но толку 0. на сайте код не работает тк этот заготовочный файл является сторонним
Татьяна Просветленный (36384) dtn den, эта библиотека она не включена в Visual Studio 2022 по умолчанию вы ее скачали установили, но еще нужно прописать все пути в своей системе и ее скомпилировать чтобы была она активной
Похожие вопросы