Сначала вы должны убедиться, что версия вашего компилятора (32- или 64-битная) соответствует версии libsndfile.Я полагаю, вы сделали это правильно.
Я также предполагаю, что вы правильно добавили sndfile.h
к пути включения.
На самом деле вам понадобятся два библиотечных файла.Я думаю, что вы забыли тот, который правильно компилируется.
Компиляция и компоновка (.lib
файл)
Обратите внимание, что Netbeans 7.0 не принимает файлы .lib, и вам нужно связать .libфайл для вашего проекта для компиляции.Итак, в C:\Program Files\Mega-Nerd\libsndfile\lib
вам нужно скопировать libsndfile-1.lib
и переименовать расширение .lib
в .a
.
Затем в Свойства объекта> Build> Linker> Дополнительные каталоги библиотек добавьте путь к каталогу \lib
.Для меня это Program Files/Mega-Nerd/libsndfile/lib
.
Несколько строк ниже, у вас будет Свойства объекта> Build> Linker> Libraries .Укажите местоположение файла библиотеки с именем libsndfile-1.a
, для меня это C:\Program Files\Mega-Nerd\libsndfile\lib\libsndfile-1.a
.
Теперь он должен хотя бы скомпилироваться.
Выполнение (.dll
)
Теперь он, скорее всего, не будет выполняться, даже если скомпилирован.Это потому, что файл .dll
необходим для выполнения окончательного .exe
.Просто скопируйте файл libsndfile-1.dll
(для меня он находится в C:\Program Files\Mega-Nerd\libsndfile\bin
) в ваш проект, рядом с файлом .exe
.Для меня это в C:\proj\dist\Debug\Cygwin-Windows\proj.exe
.
Редактировать: я проверил с сегодняшней версией NetBeans 8.2, и процедура точно такая же.