使用MinGW编译Praat

由于对makefile文件不熟悉,自己边学习边摸索,花了将近两个小时使用MinGW完成了Praat的编译,看着自己编译出来的Praat还是很幸福的。下面分享下编译的过程。

MinGW使用的是CodeBlocks10.05的捆绑包,版本号为3.81Praat下载的为5.3.14版本。Praat官网有编译的简单介绍,首先是要下载GDI+库。为方便起见,我把GDI头文件和库文件分别放在MinGWincludelib目录中。然后将praat源文件makefiles目录下的makefile.defs.mingw32拷贝到源文件的根目录,并且改名为makefile.defs,此时makefile.defsmakefile文件在同一个目录,各模块的makefile文件会包含makefile.defs

为方便编译,我建立了一个批处理文件,内容如下:

set path=C:\Program Files (x86)\CodeBlocks\MinGW\bin;

mingw32-make -v

d:

cd d:\praat5314

mingw32-make clean

pause

mingw32-make

pause

第一行为MinGW的安装目录,d:\praat5314praat源码目录。如果现在就运行该批处理文件会出现错误,提示“找不到指定的系统文件”。这是因为praatmakefile.defs.mingw32文件在路径设置上与MinGW不匹配,导致无法正常调用gcc等命令文件。

打开我们拷贝并且改名的makefile.defs进行编辑,由于批处理文件设置了路径变量,所以gcc等命令可以直接调用,将makefile.defs文件中的/mingw32/bin/gcc改为gcc,并相应的调整包含路径/mingw32/include/../include,调整库路径/mingw32/lib/../lib,修订后的makefile.defs文件内容如下:

# File: makefile.defs.mingw32

 

# System: MinGW

# Paul Boersma, 14 September 2011

 

CC = gcc -std=gnu99 -isystem /../include

 

CXX = g++ -isystem /../include/ -isystem /../include -Wshadow

#CXX = g++ -isystem /../include/ -isystem /../include

 

CFLAGS = -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500 -DUNICODE -DDONT_INCLUDE_QUICKTIME -Dmain=wingwmain -O2

#CFLAGS = -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500 -DUNICODE -Dmain=wingwmain -O2

 

CXXFLAGS = $(CFLAGS)

 

LINK = g++

 

EXECUTABLE = Praat.exe

 

LIBS = -L/../lib -lwinmm -lwsock32 -lcomctl32 -lole32 -lgdi32 -lgdiplus -lcomdlg32 -static-libgcc -static-libstdc++ -mwindows

#LIBS = -L/../lib -lwinmm -lwsock32 -lcomctl32 -lole32 -lgdi32 -lgdiplus -lcomdlg32 ../lib/QTMLClient.lib -static-libgcc -static-libstdc++ -mwindows

 

AR = /ar

RANLIB = ranlib

WINDRES = windres

ICON = praat_win.o

MAIN_ICON = main/praat_win.o

保存修改后,执行批处理文件有了很大的进展,但依然会出现错误。这是因为各模块的makefile文件调用了linux命令touchrm。手动遍历各个子目录,编辑makefile文件,将倒数第二节中的touch命令调用行删除,将rm命令简单的改为del命令,分别保存。

做完这些之后,再次运行批处理文件,等待一段时间,praat.exe就出来了,用着自己的praat还是感觉很好的:)

转载于:https://www.cnblogs.com/goncely/archive/2012/05/06/Praat.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值