转自:http://my.oschina.net/eechen/blog/166969

 

相比Netbeans,Qt Creator同样支持中文,但启动速度比Netbeans更快,界面也更美观,跟输入法Fcitx协作良好(光标跟随)。 

你既可以把 Qt Creator当代码编辑器作为vim辅助,好处在于Qt Creator能够自动parsing项目,形成友好快速的智能提示,而且你也同样可以使用Qt Creator里面的gdb前端(上图)和 valgrind前端(高清大图) 对项目进行调试和内存分析,不过Makefile就要自己写或者用autotools生成了,不过这对于使用vim进行编程的同学来说,应该是轻车熟路。差点忘了,连续 按两次Al+V快捷键即可进入VIM编辑模式(FakeVim),这应该很能吸引vim用户。当然,Qt Creator默认支持主流版本控制系统git/hg/svn等 

你也可以把 Qt Creator当作IDE,这时可以作为Eclipse CDT、 Netbeans这些重量级IDE的一个轻量替代品。你可以直接在 Qt Creator的向导里新建一个非Qt使用CMake自动构建的项目,这意味着你不用自己做Makefile,你只要在Qt Creator里“执行CMake”就能自动生成。 

1、安装Qt Creator和基础构建环境(以Ubuntu为例):
安装基础系统构建工具包:
sudo apt-get -y install build-essential cmake exuberant-ctags
下载最新版二进制Qt Creator:
http://qt-project.org/downloads
不进行GUI编程,不需要安装QtSDK,也就没有qmake和相关qt库,只用下那个60M的Qt Creator就好了,比如我下的:
qt-creator-linux-x86-opensource-2.8.1.run

下载后给予执行权限,双击运行选择安装目录安装即可,可以安装在自己的家目录: 
项目配置位置~/.config/QtProject
 
可以通过参数-settingspath自定义配置文件存放位置,比如: 
/home/eechen/qtcreator/2.8.1/bin/qtcreator -settingspath /home/eechen/qtcreator/ 

2、把自动完成快捷键"Ctrl+空格"改为"Alt+/"或者"Shift+Return"(Return表示Enter键): 
工具-选项-环境-键盘: 键盘快捷键输入"Ctrl+空格",在键位顺序中点击x删除原来的"Ctrl+空格",输入新的"Alt+/",确定退出. 

3、把Qt Creator当成代码编辑器使用: 
文件-新建文件或项目-导入项目-导入现有项目 
这样导入的项目用的是make构建,需要自己写好Makefile文件后才能构建,支持自动完成,支持调试和内存分析. 

4、 在Qt Creator使用CMake构建/运行/调试通用C/C++项目: 
文件-新建文件或项目-非Qt项目:新建一个CMake项目 
在"执行CMake"这一步的参数中填入-DCMAKE_BUILD_TYPE=Debug 
这样才可以在Qt Creator中调试程序,-DCMAKE_BUILD_TYPE的值可以设为Debug或者Release或者RelWithDebInfo. 
cmake可以自动生成Makefile方便用make构建项目,但使用cmake构建项目也必须要会编写CMakeLists.txt文件. 
在文件系统添加文件后需要右键项目,重新"执行CMake"才会使parsing(语法解析)生效并出现在项目里. 

配置cmake: 
工具->选项->构建和运行->CMake 
/usr/bin/cmake 

配置终端: 
工具->选项->环境->概要 
终端设为/usr/bin/gnome-terminal -x 

使用vi编辑,把xterm换为gnome-terminal:
-e "vim %{CurrentDocument:FilePath}"

设置在终端运行程序:
项目(侧边栏)-运行-勾选"在终端中运行"

调试(gdb)时出现"ptrace operation not permitted"问题解决办法: 
永久设置: 编辑/etc/sysctl.d/10-ptrace.conf改为kernel.yama.ptrace_scope = 0 
临时设置: sudo sysctl kernel.yama.ptrace_scope=0 或者 echo 0 > /proc/sys/kernel/yama/ptrace_scope 
系统默认设为1的目的是为了安全,防止用户程序访问其他进程(比如这里的 gnome-terminal)内存的数据. 

 

附一张图,在Qt Creator中使用valgrind分析Nginx的内存使用:

posted on 2014-01-17 16:32  孜求嵌道  阅读(770)  评论(0编辑  收藏  举报