在Qt环境里调用VS2008编译器编译Qt Creator编写的程序

      大家好!下面的整个叙述过程是最近一段时间摸索的成果,通过代码完成调用VS2008编译器,进而编译Qt Creator下编辑的工程代码。经过测试证明以下方式是可行的。在开始介绍我的方法之前,要感谢我的好朋友也是我的同学(FL-龙儿)在整个调试过程中的帮助!<^_^>

     第一步,在PC机上安装4.7.4版本的Qt Creator,以及VS2008,方便环境的搭建。我安装在D:\QtSDK下,VS2008默认安装在C:\盘下。

     第二步,用Qt Creator建立一个Qt工程。不需要太复杂,简单的即可。接下来就要编写一个程序来编译这个Qt工程。新建一个QtGUI应用,按照Creator给的默认一直按下去即可。我建立的工程在C:\Users\Chen文件夹下的Test工程。可以看到文件夹中有以下几个文件:

     第三步,编辑编译函数,其实就在你的QT程序中的一个PushButton的槽函数中填写编译部分代码即可。

 1 void on_pushButton_clicked()
 2 {
 3       QProcess cmd = new QProcess;//建立一个进程
 4       cmd->setWorkingDirectory("C:\\Users\\Chen\\Test");//设置工作路径,需要编译工程文件夹
 5       QString str("cmd");
 6       cmd->start(str);
 7       cmd->waitForStarted(10);
 8       cmd->write("qmake Test.pro -r -spec win32-msvc2008\n");//执行qmake
         //调用vs2008编译器
9
cmd->write("D:\\QtSDK\\QtCreator\\bin\\jom.exe\n"); 10 cmd->closeWriteChannel(); 11 cmd->waitForFinished(10); 12 }

      看看编译过后文件夹里多了什么:

      我们发现这和在Qt Creator编译的一样了,成功的编译了!

ps:要想用.exe程序直接运行,需要配置环境变量,将Qt Creator中的Path,加入用户变量中的path内。另外将Qt的lib、include、bin都加入用户变量!

posted @ 2013-03-20 14:43  peterchen1986  阅读(1072)  评论(0编辑  收藏  举报