【发布时间】:2013-03-07 13:53:25
【问题描述】:
使用 netbeans 7.2 和最新版本的 MinGW(使用安装程序)我无法使用 libnoise 库。我正确地包含了头文件,自动完成确认了这一点,但是该库根本无法正常工作。有一个.lib 文件和一个.dll。我已经尝试了在项目 > 属性 > 构建 > 链接器下添加它们的所有可能组合,以及将 .dll 放在基础项目目录中。尽管如此,每当我尝试运行代码时,我仍然会遇到未定义的参考错误。有谁知道该怎么做?
【问题讨论】:
使用 netbeans 7.2 和最新版本的 MinGW(使用安装程序)我无法使用 libnoise 库。我正确地包含了头文件,自动完成确认了这一点,但是该库根本无法正常工作。有一个.lib 文件和一个.dll。我已经尝试了在项目 > 属性 > 构建 > 链接器下添加它们的所有可能组合,以及将 .dll 放在基础项目目录中。尽管如此,每当我尝试运行代码时,我仍然会遇到未定义的参考错误。有谁知道该怎么做?
【问题讨论】:
我知道可以将导入库文件 (*.lib) 与 MinGW 链接,但我仍然建议重新编译 libnoise。
对于当前的 Makefile,这不是 very easy 并且可能会中断。因此,我编写了一个 CMake 脚本,它不仅适用于 Windows,而且应该适用于所有 CMake 支持的平台。除此之外,我还清理了目录结构。代码本身没有被触及,当你构建一个库时,它应该与当前的基本相同。
构建共享库后,您将拥有一个 libnoise.dll.a 和 libnoise.dll 文件。然后将libnoise.dll.a 添加到链接设置中,并将 DLL 本身放在二进制文件旁边或工作目录中。
【讨论】:
您必须链接 lib 文件(= 将其添加到链接器库)并将 dll 放到
<project root>/dist/<...>/
(您的 exe 文件所在的位置)。也不需要将dll添加到链接器中。
您能否发布您收到的错误消息?
【讨论】: