Code::Bolck的确是一款值得大书特书的C++ IDE,免费、开源、极强的自定义能力、体积小、资源占用少、速度快……在我试用了包括
Eclipse、Dev-C++等一系列著名的IDE之后,最终决定使用它。
不可否认Eclipse是一个不错的IDE,但它是为JAVA而生的,虽然利用插件同样可以用来开发C++,但是在代码提示方面几乎无法让人忍受,而且
体积过于庞大,加上JAVA,光安装文件就达到了200多M,而Code::Blocks才不到4M。而最让我动心的是它的代码提示的速度几乎可以跟
VC相媲美,而且居然连QT的代码都可以提示出来,虽然还不是很完美,但已经比其它任何IDE都有了一个质的提高。
在Eclipse中开发QT很不方便,充其量只能算得上一个代码编辑工具,还需要到命令行中进行编译,虽然也可以通过设置直接在IDE中编译/运行,但
每个项目都要重新设置,十分的麻烦;而Code::Blocks几乎可以完美的集成到IDE中,通过自定义工具,可以不用脱离IDE就完成编译,十分方
便。
在Code::Blocks中编译QT程序有两种办法。
第 一种,在Tools中增加三项,分别调用qmake -project、qmake、nmake。直接调用name时,打开的控制台窗口在编译完成
后立刻关闭,看不到编译信息,好在Code::Blocks提供了console_runner.exe这个工具,提供类似控制台的命令,但是在执行之
后不会自动关闭,而是在按任意键后才返回,让我们有机会看清楚编译信息。
这种方法可以让我们不用脱离IDE就完成编译,但是出现的控制台窗口让人感觉不是太好,我曾写过一个程序将编译的信息重定向到我的程序中,然后再弹出一
个窗口来显示编译信息,但终究跟IDE的结合不够自然。
第 二种方法则可以完全将编译信息集成到IDE中。首先在新建项目时必须“QT Application”模板,然后再Project的Option中
选中 “This is a custom Makefile”,让Code::Bolcks使用自定义的Makefile;再点击
“Project's build options”按钮,选“Default”->“Commands”,在“Pre-build steps” 中
输入qmake -project(换行),qmake;再到“Settings”->“Compiler”->“Other”中将 Build
method设置为“Work with Makefile”。按道理,经过这样的设置之后就可以直接用IDE中的Build命令去编译QT 项目,并
可把编译信息显示在“Build log”和“Build message”窗口中了,但是,Code::Block存在着一个Bug,就是当
Build method设置为“Work with Makefile”时,Option中的“This is a custom
Makefile” 选项是无效的,也就是说它并不会根据Makefile来编译,这个Bug已
经在Code::Block社区得到了证实,社区里头有人提议在第一次 编译的时候将Build method设置为“Invord
compiler directly”,编译后就会生成Makefile,然后再改回 “Work with Makefile”来进行以后的编译,但
我觉得这样比较麻烦,还是比较喜欢象第一种方法那样先执行一次qmake - project和qmake,这样就不用切换来切换去了。
需要注意的是,在新建项目的时候,选择的项目模板对编译是有影响的,只有选择了QT Application才可以使用第二种办法编译,而第一种方法则
没有此限制,即使是选择了Console Application模板仍然可以正常编译。
在IDE中执行Run命令需要注意一点,调用qmake和nmake后生成的Exe文件是与项目所在的目录名同名,而IDE中的Run命令会去找跟项目
名同名的EXE文件,所以如果想用IDE中的Run命令,就必须将项目名设置成跟目录名一样才行。