我正在尝试读取.wav文件,因此需要在我的项目中包含libsndfile二进制文件。我正在使用NetBeans 7.0和Tools-> Library->添加新库选项不起作用,因为禁用了添加库按钮。
我尝试将头文件的路径添加到Project-> Build属性和编译的代码中。但是当我尝试通过Project->链接器属性以类似方式添加.dll时,NetBeans无法找到.dll。如果我从MyComputer->导航到该文件夹...我可以看到.dll /但NetBeans不会显示它。
我使用的是Win 7 64位机器&我已经设置了适当的libsndfile二进制文件。现在已经有一天了。非常感谢任何帮助。
谢谢, Neeraj
答案 0 :(得分:0)
DLL不需要设置类路径。因此,您可以从本地文件系统加载DLL。复制DLL并转到文件资源管理器选项卡并粘贴文件。
答案 1 :(得分:0)
首先,您必须检查编译器版本(32或64位)是否与libsndfile版本匹配。我想你做对了。
我还假设您已将sndfile.h
正确添加到包含路径。
您实际上将需要两个库文件。我认为您忘记了正确编译的代码。
.lib
文件)请注意,Netbeans 7.0不接受.lib文件,您需要链接.lib文件以供项目编译。因此,在C:\Program Files\Mega-Nerd\libsndfile\lib
中,您需要复制libsndfile-1.lib
并将.lib
扩展名重命名为.a
。
然后,在对象属性>构建>链接器>其他库目录中,将路径添加到\lib
目录。对我来说是Program Files/Mega-Nerd/libsndfile/lib
。
在下面的几行中,您将具有对象属性>构建>链接器>库。指定名为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版本,过程完全相同。