Я хочу использовать библиотеку libsndfile в проекте Qt, затем мне нужно связать ее, но я всегда получаю сообщение об ошибке:
main.cpp:129: error : undefined reference to `sf_open'
main.cpp:137: error : undefined reference to `sf_write_short'
Я пытался добавить эти строки в мой .pro
1)
INCLUDEPATH + = C: / libsndfile / include
LIBS + = -LC: /libsndfile/lib/libsndfile-1.lib
2)
INCLUDEPATH + = C: / libsndfile / include /
LIBS + = C: /libsndfile/lib/libsndfile-1.lib
3)
win32: CONFIG (выпуск, отладка | выпуск): LIBS + = -L $$ PWD /../../../../../../ libsndfile / lib / -llibsndfile-1
INCLUDEPATH + = $$ PWD /../../../../../../ libsndfile / include
DEPENDPATH + = $$ PWD /../../../../../../ libsndfile / include
win32: CONFIG (выпуск, отладка | выпуск): PRE_TARGETDEPS + = $$ PWD /../../../../../../ libsndfile / lib / libsndfile-1.lib
Можете ли вы помочь мне правильно связать библиотеку sndfile?
LIBS+= -L<PATH TO DIR WITH DLL> -lsndfile-1
Например:
LIBS+= -LC:/sndfile -lsndfile-1
Конечно, сама библиотека должна быть скомпилирована с использованием используемого вами компилятора (mingw?). Не пытайтесь использовать VS-скомпилированную библиотеку с MinGW и наоборот.
Других решений пока нет …