blocks中使用qt 在code (blocks英语怎么读)

成都品茶 03-20 阅读:52 评论:0

在Code::Blocks中编译QT程序有两种方法。第一种方法是在Tools中增加三个选项,分别调用qmake-project、qmake和nmake。直接调用name时,打开的控制台窗口在编译完成后会立刻关闭,导致无法查看编译信息。虽然Code::Blocks提供了console_这个工具来提供类似控制台的命令,但执行后不会自动关闭,需要按任意键才能返回,这样可以让我们有机会查看编译信息。虽然这种方法能够在不离开IDE的情况下完成编译,但控制台窗口的出现并不够理想。我曾尝试将编译信息重定向到我的程序中,然后弹出一个窗口显示编译信息,但与IDE的整合并不够自然。

第二种方法可以完全将编译信息集成到IDE中。在新建项目时必须选择QTApplication模板,然后在Project的Option中选择ThisisacustomMakefile,让Code::Blocks使用自定义的Makefile。接着点击Projectsbuildoptions按钮,选择Default->Commands,在Pre-buildsteps中输入qmake-project(换行)和qmake;然后在Settings->Compiler->Other中将Buildmethod设置为WorkwithMakefile。按理说,经过这些设置后就可以直接使用IDE中的Build命令编译QT项目,并将编译信息显示在Buildlog和Buildmessage窗口中,但是Code::Blocks存在一个Bug,即当Buildmethod设置为WorkwithMakefile时,Option中的ThisisacustomMakefile选项无效,也就是它并不会根据Makefile来编译。这个Bug已在Code::Blocks社区确认,有人建议在第一次编译时将Buildmethod设置为Invordcompilerdirectly,编译后会生成Makefile,然后再改回WorkwithMakefile来进行后续的编译。但我觉得这样很麻烦,还是喜欢像第一种方法那样先执行一次qmake-project和qmake,这样就不用频繁切换设置。

需要注意的是,在新建项目时选择的项目模板会影响编译。只有选择了QTApplication模板才能使用第二种方法进行编译,而第一种方法没有此限制,即使选择了ConsoleApplication模板也可以正常编译。在IDE中执行Run命令时有一个要点,调用qmake和nmake后生成的Exe文件与项目所在的目录同名,而IDE中的Run命令会寻找与项目同名的EXE文件,因此如果想使用IDE中的Run命令,就必须将项目名设置与目录名相同。

版权声明

本文仅代表作者观点,不代表成都桑拿立场。
本文系作者授权发表,未经许可,不得转载。