Posted on 30-10-2009
Filed Under (技术) by waterlin

在 Windows 下安装好 MinGW 后,不可能不用 GDB 来调试代码吧?

要给 MinGW 配上 GDB 很简单,只要从 MinGW 的下载列表里下载 GDB 的安装文件,安装到 MinGW 的安装目录就可以了。

原创文章,如转载请注明:转载自细节之锤 [ http://blog.WaterLin.org/ ]

Copyright © WaterLin.org. All rights reserved.

(0) Comments    Read More   
Posted on 07-04-2009
Filed Under (技术) by waterlin

如果要在Windows下写界面的话,有许多的C++界面库,例如VC++里自带的MFC库。但是,如果使用了这些库,当你要把你的界面程序移植到其它平台,那将是一件非常痛苦的过程。QT是一个非常优秀的C++界面库,跨平台、架构好、易使用。现在就简单介绍一下怎么在Windows下用MinGW和MSYS来编译QT程序。

1) 安装MinGWMSYS

2) 安装Qt

下载相应的安装文件,一路安装就OK了。安装完Qt后,在Windows系统的环境变量里添加Qt的路径,我这里是:

C:\Qt\4.4.3\bin

这样就可以在cmd里的任何位置使用Qt的命令了。

3) 把Hello World这段代码拷进去,Qt的帮助文件里有:

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QPushButton hello(“Hello world!”);

hello.show();
return app.exec();
}

为方便编译,可以把这段代码的文件单独保存到一个文件夹里。

4) 用qmake来新建工程

qmake -project
qmake

在目标代码的文件夹里运行上面的两个命令,第一个命令会生成一个QTHello.pro的文件,第二个命令qmake会根据这个.pro文件来创建平台相关的makefile文件。

5) 在MSYS里跑make这个命令进行编译

如果编译顺利的话,就会在这个文件夹下面新建debug和release这两个子文件夹,里面放的是你make后生成的可执行文件。

(0) Comments    Read More   
Posted on 06-01-2009
Filed Under (技术) by waterlin

说到使用MSYS这样的命令行终端方式,大家一定觉得还不是那么方便。因为这里不能够复制、粘贴。但你错了,在MSYS里复制粘贴也很容易。

复制:选择你要复制的部分,然后鼠标左键点一下,就可以了。容易吧?

粘贴:只需用shift+鼠标左键,就可以直接将剪贴板内的文字粘贴进来了。

(0) Comments    Read More   
Posted on 05-01-2009
Filed Under (技术) by waterlin

如果在系统中使用MinGW的话,用MSYS作为Windows的cmd会比较方便。

MSYS提供了一个模拟的bash环境,当然,其中包含了基本的bash命令,比如ls等。除了基本的bash命令外,它还提供了用bash的方式来运行Windows的程序。当你不清楚在MSYS里运行的某个命令的目录在哪里的时候,你可以用which这个命令来查询。通过which这个命令,你也可以判断出这个命令是MSYS bash里的命令,还是你安装在Windows里的程序。

利用MSYS可以基本代替cmd的日常使用。

MSYS的安装很简单,下载安装文件,一路安装下去就可以了。在提示你是否安装有MinGW的时候,你根据你的实际情况填写即可。

MSYS默认的颜色、字体配置十分的丑陋,可以通过C:\msys\1.0\msys.bat这个文件来修改,即安装路径下的msys.bat文件。

修改MSYS的终端字体、颜色等属性,找到表述和下面这一行相类似的地方:

start rxvt -backspacekey  -sl 2500 -fg %FGCOLOR% -bg %BGCOLOR% -sr -fn Courier-12 -tn msys -geometry 80×25 -e /bin/sh –login -i

把这里面的属性值根据你的喜好来改,就可以美化出一个更加漂亮的终端窗口了:

start rxvt -backspacekey  -sl 2500 -fg white -bg black -sr -fn Courier-bold-14 -tn msys -geometry 100×40 -e /bin/sh –login -i

这些属性值都可以随便自己设定,不过这一行一定要作为一行来保存!

(3) Comments    Read More   
Posted on 04-01-2009
Filed Under (技术) by waterlin

MinGW提供了一个编写Windows应用程序的完整开源工具包。

1) MinGW的安装

MinGW的安装,其实非常简单。

因为手动安装有着更多的灵活性,所以这里重点说一下手动安装的步骤。安装MinGW至少需要四个包:

    * binutils
* gcc-core
* mingw-runtime
* w32api

把这些包下载下来,放到C:\MinGW目录下(当然,放到哪里都一样),然后在windows的cmd里,用下面的命令解压出来:

C:\MinGW> gzip -d -c binutils-2.17.50-20060824-1.tar.gz | tar x
C:\MinGW> gzip -d -c gcc-core-3.4.5-20060117-3.tar.gz | tar x
C:\MinGW> gzip -d -c mingwrt-3.15.1-mingw32-dev.tar.gz | tar x
C:\MinGW> gzip -d -c w32api-3.12-mingw32-dev.tar.gz | tar x
C:\MinGW> set path=C:\MinGW\bin;%path%

其实各个包的目录结构都是一样的,所以,解压后的目录结构仍然为一样的。其它的包也可以采用这样的方法来处理。只是要知道,我们解压是需要把这几个包混合起来,而不要只是习惯性的分别解压到一个文件夹里!

这个时候,最好推荐用命令行的方式来解压,不容易出错;如果系统没有装gzip或是类似的软件,可以用Cygwin来解压。

最后一行命令是添加path到环境变量里,如果你经常使用,需要把这个变量永久的添加到path变量里。

当然,你可以根据你的需要选择更多的包,例如说gcc-g++ for C++、gcc-objc for Objective C、gcc-g77 for Fortran 77、gcc-java for Java或gcc-ada for Ada。如果需要这些包的话,只需要在上面的命令里多解压一个包即可。

2) MinGW的使用

现在我们可以直接在windows cmd里来使用gcc之类的命令来编译程序了。

比如说下面这个C程序:

#include <stdio.h>int main(int argc, char **argv)
{
printf (“Start to use MinGW”);
return (0);
}

假如你想从hello.c生成一个在终端模式下的可执行文件hello.exe。只要直接用gcc编译器进行编译就行了:

gcc -c hello.c

这个命令把hello.c编译成一个目标文件hello.o,然后用下面的方法生成一个可执行文件hello.exe:

gcc -o hello hello.o

事实上,作为一种选择,你可以使用下面的命令把编译和链接放到一步中完成:

gcc -o hello hello.c

下面是一个简单的c++程序的代码示例,复制并粘贴到一个叫hello.cpp的文件中试试看:

#include <iostream>
int main(int argc, char **argv)
{
std::cout << “Start to use MinGW to compile C++” << std::endl;
return (0);
}

对于c++程序来说,可以使用g++来编译和链接:

g++ -c hello.cpp
g++ -o hello hello.o

对于gcc、g++及其他编译器的使用,可以查询各自的手册以获得更多的帮助。

(1) Comment    Read More