2015-12-28 7 views
-1

Я использую Code :: Blocks, чтобы проверить некоторые коды, и я просто не могу biuld этот код:C ошибка: «неопределенная ссылка на" sf_open»от libsndfile

#include <stdio.h> 
#include <stdlib.h> 
#include <sndfile.h> 

int main() 
{ 
SNDFILE *sf; 

sf = sf_open("file.wav",SFM_READ,&info); //error happens in this line 

... 

И ошибка" undefined ссылка на `sf_open '", это происходит не только с sf_open, но и с любой функцией из sndfile.h.

На самом деле вот что я сделал, чтобы получить здесь:

  • Я первый скачал и установил libsndfile для Windows x64 (я использую Windows 10) с веб-сайта мега-ботаник, и пытался бежать этот код ... не работал, ошибка на этот раз была «sndfile.h: нет такого файла или каталога»

  • Так что через некоторое время я пошел в установочный каталог (C: \ Program Files \ Mega- Nerd \ libsndfile \ include) и скопировал заголовки в директорию deflock для CodeBlocks для заголовков (C: \ Program Files (x86) \ CodeBlocks \ MinGW \ include), затем я попробовал еще раз и наконец нашел заголовок! Но теперь эта ошибка происходит ...

ооочень Я предполагаю, что я не открывал заголовок в правильном направлении, у меня нет большого опыта работы с этим ... Я не мог найти ответ в любом месте в Интернете, я надеюсь, что мне повезло, спасибо!

+0

Вам нужно для связи с libsndfile. [Как связать библиотеку с кодом :: Блоки ранее были описаны Деймоном.] (http://stackoverflow.com/a/5881751/3415618) – Jeremy

ответ

1

Как заявил Джереми, помимо включают sndfile.h, вы должны связать с библиотекой libsndfile (она должна быть .lib или .a файл.

Чтобы связать это просто follow the link he provided