Qt编程知识点记录

背景. FFTW函数库不能在MinGW版本上使用

Qt有MinGW和MSVC两个版本,尝试使用FFTW函数库时,没有找到在MinGW上使用的方法,因此在电脑上又安装了一个MSVC版本。工程拷过来时发生了不少问题。

1. 编译报错:无法找到main.obj

原因是工程名或路径名中有空格,MinGW支持路径有空格,MSVC不支持空格。

解决方式:删除路径或工程名中的空格。

2.文件编码问题:MSVC不能很好地支持中文

代码和打印中的中文出现大量乱码。

解决方式:使用editplus打开源文件,将文件编码格式转为utf8+bom

3.编译报错:string::arg 重载有相似的转换

解决方式:将 .arg(num,9,'f',2) 改为 .arg(num,'f',2).

4.多线程,无法打开文件:pthread.lib

pro文件中,原来(MinGW)是:LIBS += lpthread libwsock32 libws2_32

改为(MSVC): LIBS += -lws2_32

5.FFTW配置

(1)使用VC或VS编译fftw

(2)将libfftw3-3.dll拷贝至Qt/Qt5.8.0/5.8/msvc2015/bin下

(3)pro文件中 LIBS += D:/fftw/libfftw3-3.lib

(4)添加fftw3.h头文件

你可能感兴趣的:(QT)