我是一个qt新手,有个问题是在qt和qt creator的区别中,怎么加入已经编好的c++程序。有人说把程序的

当前访客身份:游客 [
不妥协,不逐流。随性而不失个性,有设计而不漏痕迹,演绎出大道至简的真谛。繁华阅尽处,简约不简单。这就是PHP的极简主义。
:引用来自“eechen”的评论 @xiaolei123 找到白屏...
:@xiaolei123 找到白屏原因了,因为www/index.php...
:引用来自“xiaolei123”的评论有图片吗?想看看 ...
:引用来自“zonghua”的评论有没有nginx啊 PHP+We...
:哈哈,大神竟然还写css
:有没有nginx啊
:webapp也叫APP?
:用QT来PHP
:引用来自“eechen”的评论 引用来自“我是程序员...
:引用来自“我是程序员啊”的评论大神啊只不过是一...
今日访问:47
昨日访问:745
本周访问:792
本月访问:4846
所有访问:190997
Linux上使用Qt Creator进行C/C++开发
发表于3年前( 12:57)&&
阅读(20513)&|&评论()
0人收藏此文章,
Qt Creator支持中文,启动速度比Eclipse、Netbeans更快,界面也更美观,跟输入法Fcitx协作良好(光标跟随)。
你既可以把Qt Creator当代码编辑器作为vim辅助,好处在于Qt Creator能够自动parse项目,形成友好快速的智能提示,而且你也同样可以使用Qt Creator里面的gdb前端(上图)和 对项目进行调试和内存分析,不过Makefile就要自己写或者用autotools生成了,这对于使用vim进行编程的同学来说,应该是轻车熟路的。差点忘了,连续按两次Alt+V快捷键即可进入VIM编辑模式(FakeVim),这应该很能吸引vim用户。当然,Qt Creator默认支持主流版本控制系统git/hg/svn等。
你也可以把Qt Creator当作IDE,这时可以作为Eclipse CDT、 Netbeans for C++这些重量级IDE的一个轻量替代品。你可以直接在Qt Creator的向导里新建一个非Qt使用CMake自动构建的项目,这意味着你不用自己写Makefile,你只要在Qt Creator里“执行CMake”就能自动生成。当然,你也可以导入一个make构建的项目到Qt Creator里编译调试,比如Nginx。
1、安装Qt Creator和基础构建环境(以Ubuntu为例):
安装基础系统构建工具包:
sudo apt-get -y install build-essential gdb valgrind cmake
下载最新版二进制Qt Creator(建议使用基于Qt4构建的2.8系列的Qt Creator,能更好地兼容Fcitx输入法):
不进行GUI编程,不需要安装Qt SDK,也就没有qmake和相关Qt开发库,只用下载那个60M的Qt Creator就好了,比如我下的是:
qt-creator-linux-x86_64-opensource-2.8.1.run
下载后给予执行权限,运行选择安装目录安装即可,可以安装在自己的家目录。
Windows上建议下载自带MinGW的Qt(300多MB),不过不进行Qt图形化开发,安装时只安装Qt Creator和MinGW即可: http://mirrors./qtproject/official_releases/qt/4.8/4.8.7/qt-opensource-windows-x86-mingw482-4.8.7.exe
项目配置默认存放位置~/.config/QtProject
可以通过参数-settingspath自定义配置文件存放位置,比如:
/home/eechen/qtcreator-2.8.1/bin/qtcreator -settingspath /home/eechen/qtcreator-2.8.1
注意:如果你用的是基于Qt5构建的Qt Creator 3系列,其默认集成了iBus输入法插件,而对于Fcitx插件,则需要手动安装包fcitx-frontend-qt5, 然后复制libfcitxplatforminputcontextplugin.so到Qt Creator 3的 bin/plugins/platforminputcontexts 目录,比如: sudo apt-get install fcitx-frontend-qt5 ln -s /usr/lib/`arch`-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /png/dev/qtcreator-3.2.1/bin/plugins/platforminputcontexts/ 重启QtCreator,就可以正常使用Fcitx输入法了.
如果仍然不能调用Fcitx,请看这篇文章:
2、把自动完成快捷键"Ctrl+空格"改为"Alt+/"或者"Shift+Return"(Return表示Enter键)
工具-选项-环境-键盘: 键盘快捷键输入"Ctrl+空格",在键位顺序中点击x删除原来的"Ctrl+空格",输入新的"Alt+/",确定退出.
3、在Qt Creator中使用make构建,运行,调试通用C/C++项目
文件-新建文件或项目-导入项目-导入现有项目
这样导入的项目用的是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文件.
Qt Creator支持使用qmake,make,cmake构建项目,但不能直接往cmake项目里添加文件,Qt Creator对CMake的支持还有待改进.
临时的做法是,切换到文件管理器来添加文件,然后右击项目"执行CMake"使parsing(语法解析)生效,并载入文件到在项目.
5、Qt Creator会自动识别系统中安装的gcc、g++、gdb、make、cmake、valgrind,也可以自己到菜单"工具"-&"选项"里进行一些自定义配置.
配置vim外部编辑器:
工具-&选项-&环境-&外部工具-&使用vi进行编辑
把xterm改为konsole或者gnome-terminal
参数改为-e vim "%{CurrentDocument:FilePath}"
工具-&选项-&环境-&概要
KDE环境默认为/usr/bin/konsole -e
如果要用gnome-terminal,则设为/usr/bin/gnome-terminal -x
设置在终端运行程序:
项目(侧边栏)-运行-勾选"在终端中运行"
调试(gdb)时出现"ptrace operation not permitted"问题解决办法:
临时设置: sudo sysctl kernel.yama.ptrace_scope=0
永久设置: 编辑/etc/sysctl.d/10-ptrace.conf改为kernel.yama.ptrace_scope = 0
系统默认设为1的目的是为了安全,防止用户程序(比如这里的gdb)访问其他进程(比如这里的konsole,gnome-terminal)内存的数据.
PS:附一张图,在Qt Creator中使用valgrind分析Nginx的内存使用:
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读如何使用Qt Creator编译C++11代码
[问题点数:20分,结帖人godenkiss]
如何使用Qt Creator编译C++11代码
[问题点数:20分,结帖人godenkiss]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。您现在正在浏览:
一个新手的工作总结及展望(峰回路转,即将又回到了C/c++开发语言和Qt的怀抱)
发布时间:
10:04:00 &
浏览次数:
摘要: 昨天主管突然说要把框架放到Qt里面跑,实现跨平台,这样就可以轻松在一个平台下写代码,然后拿着工程放到...
一个新手的工作总结及展望(峰回路转,即将又回到了C/C++和Qt的怀抱)
2011年11月底开始进入公司工作,从刚开始的看文档,到交流学习,到练习,到最终开始写代码,用了2个星期。从工作以及生活中越发的感觉到时间的重要性,以及自己和别人相比的时间匮乏。
虽然公司不大,刚刚成立,但是从进入公司开始,跟着主管一个多月,这段时间学到了很多东西,自己也成长了很多,从刚开始的不切实际,到现在的踏踏实实,确实变化很多。之前虽然一直想写些东西,但是一直没有好的时间,这次一起写一下吧。
在学校的时候总是好高骛远,感觉自己已经很牛了,什么都掌握了,出去就可以一个月拿到多少钱了,但是真正工作了,才发现,自己是多么的傻。缺乏实际工作经验,缺乏工作技巧,总之,不是缺这就是少那。刚进入公司是先搞flash的工作原理,就是它那一套基于场景的用户图形界面系统,从角色,显示列表,move to,line to等等开始,慢慢了解了视窗系统的工作原理,然后就是每天跟着主管学习,每天交流总结一次自己学到了什么,还好自己接受新事物的能力还行,没有把主管给急着。经过几天的学习之后,就开始了解自己以后真正的工作了,是一个自己开发了跨平台应用程序框架,但是现在还没有完善,说是可以跨平台但是至今为止还只能在win32和windows
mobile上面跑,但是尽管这样已经很多了,至少这一套东西是自主开发的,从底层的图形引擎到中层的系统接口,再到上层的AP我们都是可控的,虽然还不是太完善。之前一直在windowsmobile的模拟器跑,调试起来非常不方便,麻烦而且慢,自从移植到win32上之后,调试速度明显提升,而且可以使用更多的调试功能,工作效率也提高不少。然后就这样,开始不断完善平台的功能和模块,从第一个SIP平台接口开始不断完成了一系列模块功能,虽然难度和技术含量都不是很高,但至少对于现在的我来说是一个很好的工作积累和提升经验的机会,并且我也从里面学到了很多的东西。因为整个平台除了第三方库意外几乎都是使用C完成了,所以写功能模块的时候对C的要求还是有的,通过真正在实际中使用C发现,C用起来确实很好,简单清晰,并且功能强大,特别是一些数据结构,指针(包括很多中,函数指针,数据类型指针等等)用起来真的很不错,相对于以前在学校,我感觉最大的差别就是对于实际程序的理解,之前太浮漂,现在则理解的更深刻,更能提高能力,我的主管它不喜欢用C++,说C++很混乱,用起来不清晰,也很麻烦,并且难以维护,他说这是李纳斯说的,并且他也赞成,虽然他说的有些东西是有道理,但是我却持保留态度,不完全赞同,虽然我也没有理解C++的精髓。由于主管的原因,所以整个平台都使用C,不管是什么语言,只要能够完成工作、需求,都是好语言,我也乐于使用它,所以对此我并没有什么看法,为此我还买了一本C经典,C语言的设计者写的,用以巩固一下基础知识。在工作中,主管说,要少问,多想,多自己动手,不要一下想的太多,要把大的逻辑思路搞清转载请保留出处:/mobile_development/993.html
上一篇:没有了
本周技术实现排行您所在的位置: &
从C++到Qt开发过程(1)
从C++到Qt开发过程(1)
Qt是一个跨平台应用程序框架。通过使用Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
本文介绍的是从C++到Qt开发过程,而对于Qt,想必大家都很熟悉了,Qt 是一个跨平台的 C++ 图形用户界面库,Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。那么先看本文的介绍吧。
在Qt论坛经常看到网友抱怨:
QPixmap(&dbzhang800.png&) 加载图片不成功
QFile(&dbzhang800.txt&) 打开文件失败
遇到这种问题,我一般回答:请注意区分进程的&工作目录 &与程序所在的目录 。但这种回答似乎还是显得太苍白了,既然如此,整理一下吧。
用到了相对路径,你清楚&相对&是相对那个目录的么?
当你抱怨Qt时,你知道它与Qt无关么?
Qt 是 C++ 的库,我们还是从C++开始看吧(注:你可能会对 用ISO C++实现自己的信号槽(另类的Qt学习) 以及 从 C++ 到 Qt 感兴趣) 。
刚接触文件操作时,我们应该都写过这种简单的小程序吧:
#include&&int&main() &{ &&&&FILE&*&pFile&=&fopen&(&dbzhang800.txt&&,&&r&); &&&&if&(pFile&==&NULL)&{ &&&&&&&&perror&(&Error&opening&file&); &&&&}&else&{ &&&&&&//do&something &&&&&&fclose&(pFile); &&&&} &&&&return&0; &}&
我们在可执行文件的同级目录下放置dbzhang800.txt文件,然后调用编译器编译程序
cl&abc.cpp&
g++&abc.cpp&-o&abc&
然后运行程序 abc,一切都很正常,是不?
可能是这个原因吧,导致很多人误认为 :相对目录相对的就是应用程序所在的目录!
你有没有没试过:
|--&dir1\ &|&&&&|--&abc(.exe) &|&&&&`--&dbzhang800.txt &| &`--&dir2\&
如果你在终端(或cmd窗口)中切换目录到 dir2,然后通过 ../dir1/abc 运行程序,你的程序还能找到文本文件么?
如果你想让它找到,此时文件应该放置到哪个目录?
内容导航&第 1 页: &第 2 页:
关于&&的更多文章
移动异构计算是相对于同构计算来说的,同构计算就是使用同一个处
既然强大的Android Studio来了,有什么理由不去用呢?
开发者在代码开发和维护中,往往会遇到很多代码优化和
现在的天气越来越冷了,感觉跟冬天似的,小编现在在发
在经过数月以及6个测试版本的体验后,iOS 7正式版终于
本书全面翔实地介绍了各种病毒的原理,以操作系统的发展为主线,结合病毒的发展过程来综合分析病毒。在分析工具上,较多地利用了
Windows Phone专家
Android开发专家
51CTO旗下网站

我要回帖

更多关于 qt creator快速入门 的文章

 

随机推荐