将FFTW库添加到QT项目
问题描述:
我试图将FFTW库添加到我的QT项目。我从page下载了fftw-3.3.5-dll64.zip。将FFTW库添加到QT项目
之后,我解压缩它,并将所有文件复制到“c:\ fftw”目录。 在我的项目设置,我添加行类似下面
INCLUDEPATH += "c:\fftw"
LIBS += -L "c:\fftw" -lfftw3-3
,然后在我的MainWindow.h我把它像下面
#include <fftw/fftw3.h>
不幸的是,我不能重建我的项目。我有以下错误:
error: C1083: Cannot open include file: 'fftw/fftw3.h': No such file or directory
你有什么想法我该怎么办? “c:\ fftw”目录中的文件列表。
Directory of c:\fftw
2016-11-20 14:15 <DIR> .
2016-11-20 14:15 <DIR> ..
2016-07-30 22:38 400˙306 bench.exe
2016-07-30 22:42 411˙177 benchf.exe
2016-07-30 22:44 380˙107 benchl.exe
2016-07-30 20:21 18˙342 COPYING
2016-07-30 20:21 863 COPYRIGHT
2016-07-30 22:38 184˙625 fftw-wisdom.exe
2016-07-30 22:44 2˙519 fftw3.f
2016-07-30 22:44 55˙850 fftw3.f03
2016-07-30 22:44 18˙517 fftw3.h
2016-07-30 22:44 27˙592 fftw3l.f03
2016-07-30 22:44 26˙291 fftw3q.f03
2016-07-30 22:42 184˙732 fftwf-wisdom.exe
2016-07-30 22:44 184˙732 fftwl-wisdom.exe
2016-07-30 22:44 24˙067 libfftw3-3.def
2016-07-30 22:38 2˙712˙765 libfftw3-3.dll
2016-07-30 22:44 24˙985 libfftw3f-3.def
2016-07-30 22:42 2˙772˙692 libfftw3f-3.dll
2016-07-30 22:44 14˙465 libfftw3l-3.def
2016-07-30 22:44 1˙247˙967 libfftw3l-3.dll
2016-11-20 14:15 0 lista.txt
2016-07-30 20:21 22˙670 NEWS
2016-07-30 20:21 1˙827 README
2016-07-30 22:44 2˙079 README-bench
2016-07-30 22:44 1˙293 README-WINDOWS
24 File(s) 8˙720˙463 bytes
2 Dir(s) 17˙799˙467˙008 bytes free
答
好的,我做到了。看来这是我的错误。
问题:
我正在使用MSVC2013 64位编译器。在FFTW page有信息,我需要运行VS.exe与目录中的三个def文件。我试图这样做,但我无法做到这一点。我有一些lib.exe问题。
lib /def:libfftw3-3.def
lib /def:libfftw3f-3.def
lib /def:libfftw3l-3.def
解决方案:
我在Qt的建筑改为MinGW的32位和我下载FFTW的32位版本。现在它工作正常
感谢大家的帮助!
答
在我看来,包括应该纠正。 既然你已经设定了INCLUDEPATH到C:\ FFTW你应该使用
#include <fftw3.h>
没有指定子目录。 除非你想以相反的方式去做。
编辑: 根据Qt documentation一个例子您也可以尝试更新反斜杠在路径削减。但是,据我检查我的环境它在两种情况下都有效。
编辑: 添加使用Qt和FFTW的样本代码的作者要求 - 发行不转载
main.cpp中:
#include <QCoreApplication>
#include <fftw3.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
fftw_complex in[5];
return a.exec();
}
项目文件:
QT += core gui
CONFIG += c++11
TARGET = FFTW_test
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
INCLUDEPATH += c:/Tools/fftw
LIBS += -Lc:/Tools/fftw -lfftw3-3
SOURCES += main.cpp
验证在Win8.1上用Qt5.3和FFTW从作者提问。
这不是解决方案。我也检查过。 – Tatarinho
在这种情况下,我必须说我不能重现你的问题。根据你的描述,我已经下载了fftw添加到一个空的项目,它对我来说工作得很好。 – Dusteh
你可以添加你的.pro文件吗?我现在做了空项目,但它仍然无法工作。你的系统是什么?哪个qt版本? – Tatarinho