首先,您必须检查您的编译器版本(32 位或 64 位)是否与 libsndfile 版本匹配。我想你做得对。
我还假设您正确地将其添加sndfile.h
到包含路径中。
实际上,您将需要两个库文件。我认为您忘记了正确编译的那个。
编译和链接(.lib
文件)
请注意,Netbeans 7.0 不接受 .lib 文件,您需要链接 .lib 文件才能编译项目。因此,C:\Program Files\Mega-Nerd\libsndfile\lib
您需要将扩展名复制libsndfile-1.lib
并重命名为..lib
.a
然后,在Poject Properties > Build > Linker > Additional Libraries Directories中添加\lib
目录的路径。对我来说是Program Files/Mega-Nerd/libsndfile/lib
。
下面几行,您将拥有Poject Properties > 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
.
编辑:我用今天的8.2版本的NetBeans查了一下,过程完全一样。