将.dll添加到NetBeans 7.0 C项目。无法查看.dll

时间:2012-01-09 05:35:18

标签: dll netbeans7.0 libsndfile

我正在尝试读取.wav文件,因此需要在我的项目中包含libsndfile二进制文件。我正在使用NetBeans 7.0和Tools-> Library->添加新库选项不起作用,因为禁用了添加库按钮。

我尝试将头文件的路径添加到Project-> Build属性和编译的代码中。但是当我尝试通过Project->链接器属性以类似方式添加.dll时,NetBeans无法找到.dll。如果我从MyComputer->导航到该文件夹​​...我可以看到.dll /但NetBeans不会显示它。

我使用的是Win 7 64位机器&我已经设置了适当的libsndfile二进制文件。现在已经有一天了。非常感谢任何帮助。

谢谢, Neeraj

2 个答案:

答案 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版本,过程完全相同。