Добавление .dll в проект NetBeans 7.0 C. Невозможно просмотреть .dll - PullRequest
1 голос
/ 09 января 2012

Я пытаюсь прочитать файл .wav и, следовательно, мне нужно включить двоичный файл libsndfile в мой проект.Я использую NetBeans 7.0, и опция Инструменты-> Библиотека-> Добавить новую библиотеку не работает, так как кнопка Добавить библиотеку отключена.

Я попытался добавить путь к файлу заголовка в свойствах Project-> Build и скомпилированный код.Но когда я пытаюсь добавить .dll аналогичным образом через Project-> Linker свойства, NetBeans не может найти .dll.Если я перехожу к папке из MyComputer -> .., я вижу .dll / Однако NetBeans не отображает ее.

Я использую 64-битную машину Win 7 и настроил соответствующий двоичный файл libsndfile,Занимался этим уже один день.Буду признателен за любую помощь.

Спасибо, Neeraj

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Сначала вы должны убедиться, что версия вашего компилятора (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, и процедура точно такая же.

0 голосов
/ 09 января 2012

DLL не требует установки пути к классам. Таким образом, вы можете загрузить DLL из локальной файловой системы. Скопируйте DLL и перейдите на вкладку проводника файлов и вставьте файл.

...