Ошибка "LNK2019: неразрешенный внешний символ" в Visual Studio 2010

Я пытаюсь скомпилировать и запустить код C, который использует libsndfile библиотека для обработки звуковых файлов.

Я добавил заголовочный файл, используя этот путь:project's Properties (in C/C++ -> General -> Additional Include Directories)

Также я связал библиотеку, используя этот путь:Project Properties -> Linker -> Input -> Additional Dependencies.

Но при отладке я получаю следующие ошибки:

1>sil.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification 1>sil.obj : error LNK2019: unresolved external symbol _sf_write_sync referenced in function _main 1>sil.obj : error LNK2019: unresolved external symbol _sf_write_double referenced in function _main 1>sil.obj : error LNK2019: unresolved external symbol _sf_close referenced in function _main 1>sil.obj : error LNK2019: unresolved external symbol _sf_read_double referenced in function _main 1>sil.obj : error LNK2019: unresolved external symbol _sf_open referenced in function _main 1>c:\users\anam\documents\visual studio 2010\Projects\silence\Debug\silence.exe : fatal error LNK1120: 5 unresolved externals

Может кто-нибудь определить проблему здесь? Я новичок в использовании Visual Studio, и мне действительно нужна помощь!

3 ответа

Я столкнулся с той же проблемой. Я решил это следующим образом.

1) Убедитесь, что вы загружаете 32-битный пакет libsndfile(libsndfile-1.0.25-w32-setup.exe), поскольку компилятор Visual Studio является 32-битным.

2) Установите библиотеку, щелкнув файл setup.exe(libsndfile-1.0.25-w32-setup.exe) в libsndfile.

3) После создания проекта выполните следующие 2 шага:

i) Перейдите в раздел "Отладка" >> "Свойства проекта"> "Свойства конфигурации" >> "C/C++" >> "Общие" >> "Дополнительные каталоги включения" >> Нажмите стрелку справа и затем нажмите "Изменить". Здесь добавьте путь папка include в вашем каталоге libsndfile.

ii) После выполнения шага (i) нажмите "Компоновщик" в разделе "Свойства конфигурации" >> "Общие" >> "Дополнительные каталоги библиотек" >> Нажмите стрелку справа и нажмите "Изменить" >>. Здесь добавьте путь. lib файл Возможно, вам придется ввести полный путь, так как опция просмотра не показывает файл.lib. Итак, в моем случае я набрал C:\Program Files (x86)\Mega-Nerd\libsndfile\lib\libsndfile-1.lib.

Наконец, вы сделали! Ваш код должен скомпилироваться и работать без ошибок.

У меня была похожая проблема, и проблема заключалась в том, чтобы смешать x64 lib и проект win32.

Отсутствует указание директории папки библиотеки (.lib добавлен в Дополнительные зависимости) Представление каталогов VC++
Нажмите на каталоги библиотеки, нажмите на выпадающую кнопку справа и выберите
и укажите каталог, в котором он должен работать.

Другие вопросы по тегам