0

我想在 Qt 项目中使用 libsndfile 库,然后我需要链接它,但我总是得到一个错误:

    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(release, debug|release): LIBS += -L$$PWD/../../../../../../libsndfile/lib/ -llibsndfile-1

INCLUDEPATH += $$PWD/../../../../../../libsndfile/include DEPENDPATH += $$PWD/../../../../../ ../libsndfile/包括

win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../libsndfile/lib/libsndfile-1.lib

您能帮我正确链接 sndfile 库吗?

4

1 回答 1

0
LIBS+= -L<PATH TO DIR WITH DLL> -lsndfile-1

例如:

LIBS+= -LC:/sndfile -lsndfile-1

当然,库本身必须使用您使用的编译器(mingw?)进行编译。不要尝试将 VS 编译的库与 MinGW 一起使用,反之亦然。

于 2014-02-03T18:01:38.660 回答