windows - Mingw FFTW3 找不到库/头文件

标签 windows gcc dll mingw

我在一台 Windows 机器上,我试图让 Mingw(使用 gcc/g++ 4.9.2)识别我安装了一个库。

这里的库是 fftw3(快速傅里叶变换)库:

http://www.fftw.org/install/windows.html

我下载了文件夹,里面有三个重要的dll和一些其他的头文件

libfftw3-3.dll libfftw3l-3.dll libfftw3f-3.ll

但我不知道如何处理它们。

我有来自另一位作者的 C++ 代码需要该库,当我运行时

waf 配置 waf 构建

我收到“-libfftw3”未找到的错误。

我已经将 dll 所在的目录放入我的 Windows 路径中,这似乎是一个如此简单的问题,但我无法弄清楚如何让编译器找到预编译的 DLL。 (我还尝试让 gcc 编译器在不指定库的情况下进行默认搜索,但它说找不到“fftw.h”,这很奇怪,因为我已经将该目录放在我的路径中。

如有任何帮助,我们将不胜感激;我确实阅读了该网站的说明,但对于 Windows,它只告诉您使用 Visual Studio 的一些命令(但我没有使用该编译器),并且我浏览了其他站点以解决类似问题,但我找不到针对此特定问题的解决方案问题。

最佳答案

您必须将头文件和 DLL 放在 GCC/G++ 将查找它们的地方; (它搜索这些文件的 Windows 路径,而是在编译器命令本身中使用“-I path/to/headers”和“-L path/to/libs”选项指定的路径) .

基本上,您在这里有三个选择:

  1. 明确指定适当的 -I 和 -L 选项 单独的编译器命令本身。
  2. 为头文件设置环境变量,例如 CPATH、C_INCLUDE_PATH 和 CPLUS_INCLUDE_PATH,为库设置 LIBRARY_PATH。
  3. 将头文件和 DLL 安装(复制)到编译器已自动搜索的标准目录中。

请引用http://mingw.org/wiki/IncludePathHOWTOhttp://mingw.org/wiki/LibraryPathHOWTO了解更详细的信息。

请注意,对于 DLL,安装它们的目录也必须出现在应用程序 (.EXE) 的默认 DLL 搜索路径中。

另请注意,如果这些 DLL 不是您自己编译的,它们可能是使用 MinGW 的 GCC/G++ 以外的任何编译器编译的,它们导出 C++ 符号,它们可能不是与您使用 MinGW 的 G++ 编译的应用程序兼容。

关于windows - Mingw FFTW3 找不到库/头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29437844/

相关文章:

windows - 使用包含空格的参数调用 Qpr​​ocess - Windows

.net - 如何获取远程网络共享的磁盘使用统计信息?

windows - 是否有适用于 Windows 的 Glade3 安装程序?

c - 为什么在 C 中不能用另一个常量初始化一个常量?

c - 我应该如何为 gcc 的 -nostartfiles 或 -nostdlib 选项编写代码?

c++ - 无法打开类型库文件 : 'msxml4.dll' : No such file or directory

python - SMB 共享上的可用磁盘空间,通过 Python

c - 编译相同的源代码如何生成不同的目标文件?

C 函数未导出

java - 以我不需要安装的方式嵌入Java3D是不可能的吗?