2016-11-20 3 views
1

QT 프로젝트에 FFTW 라이브러리를 추가하려고합니다. page에서 fftw-3.3.5-dll64.zip을 다운로드했습니다.QFT 프로젝트에 FFTW 라이브러리 추가

나는 압축을 풀고 모든 파일을 "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 

답변

0

좋아, 해냈어. 그건 내 실수 였어.

문제점 :

MSVC2013 64 비트 컴파일러를 사용하고있었습니다. FFTW page에는 디렉토리에 세 개의 def 파일이있는 VS 용 lib.exe를 실행해야한다는 정보가 있습니다. 나는 그것을하려고 노력했지만, 나는 그것을 할 수 없었다. lib.exe 문제가 생겼습니다.

lib /def:libfftw3-3.def 
lib /def:libfftw3f-3.def 
lib /def:libfftw3l-3.def 

솔루션 : 내가는 MinGW 32 비트에 Qt를 건물에 변경 한 내가 FFTW의 32 비트 버전을 다운로드

. 이제 완벽하게 작동합니다.

모두에게 도움을 청합니다!

2

포함 사항을 수정해야합니다. 이미 C로 INCLUDEPATH을 설정 때문에 : \ FFTW 당신은 아마 하위 디렉토리를 지정하지 않고

#include <fftw3.h> 

를 사용해야합니다. 다른 방법을 원한다면 제외하십시오.

편집 :Qt documentation의 예에 따르면 당신은 또한 당신의 경로에 슬래시 백 슬래시를 업데이트하려고 할 수 있습니다. 그러나, 내 환경을 검사 한 한 두 경우 모두에서 작동합니다.

편집 : - :

#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 

검증 저자의 요청에 Qt를하고 FFTW와 샘플 코드를 추가하는 문제는

MAIN.CPP을 재생되지 Win8.1에서 Qt5.3과 FFTW에서 저자 질문.

+0

해결책이 아닙니다. 나는 그것도 전에 점검했다. – Tatarinho

+0

이 경우 문제를 재현 할 수 없다고 말해야합니다.나는 이미 fftw를 다운로드하여 설명에 따라 빈 프로젝트에 추가했고 제대로 작동합니다. – Dusteh

+0

.pro 파일을 추가 할 수 있습니까? 나는 지금 비어있는 프로젝트를했고 여전히 작동하지 않습니다. 당신의 시스템은 무엇입니까? 어떤 Qt 버전? – Tatarinho