‘壹’ Ubuntu中QtCreator调试错误:The GDB Process Terminated
昨天把QGIS编译好了,由于已是近11点,所以就睡觉去了。
今天上午起来尝试了下基于QtCreator的QGIS二次开发程序的Debug版,编译没问题,但调试运行时出错了,弹出了一个错误对话框“The GDB Process Terminated”!
网络了下,找到一个同样问题的帖子:
按照它的步骤解决问题时,发现我系统里就没有“environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi”这个文件!
然后,又找了N多帖子,都是只言片语,各种不同的解决方案,对于我来说都是无效的!
于是,我就自行研究起来,看了下QtCreator中的设置,发现我的gdb设置的就是/usr/bin/gdb,路径没错,gdb也存在,但就是运行错误!
琢磨了一会,突然想到了什么!没错,我运行QtCreator时并不是以管理员权限运行的,所以没法运行系统目录下的gdb,当然运行不起来!
于是,sudo QtCreator,起来后,加载工程,点击调试按钮!
错误消失了,可以设置断点,并调试了!
所以,遇到问题,不要着急,可以先网络查找下,因为我们遇到的问题,别人很有可能已经解决过了,没必要花时间去研究的,如果没有解决方案,那就自己研究,方法总比苦难多,多多尝试,定能解决问题,解决之后你就是第一人了!
一起加油,一起成为优秀的GIS程序员!
‘贰’ ubuntu qt creator 无法编译,编译按钮灰色
按着这个步骤来:
1、新建空的工程helloword.pro,最好选择带控制台的
2、在工程里面添加源文件,命名main.cpp
3、然后在main.cpp文件里面写入你的main函数即可。
‘叁’ ubuntu下安装了qt打不开怎么回事
1,首先qt-x11-opensource-src-4.3.2.tar.gz,解压到临时目录中。
2,其次,因Ubuntu在默认安装下,并没安装编程环境,则必须安装编译环境:sudo apt-get install build-essential。安装后,则g,g++,make会被安装。----否则下一步执行时会出错终止!
3,在安装完编译环境后,进入安装程序所以目录,在终端下,运行“./configure”,在输入"yes"同意后, Qt将自动configure。-------这一阶段要很长时间!
4,Qt会默认安装到/usr/local/Trolltech/Qt-4.3.1这个目录下。当configure完后,运 行make,等待编译Qt。
5,当make完成后,要运行sudo make install。
6,当这几个步骤全部完成后,把“PATH=/usr/local/Trolltech/Qt-4.3.1/bin:$PATH
export PATH”加到.profile中,Qt就安装成功了。
另一种非常简单的方法只需要两条命令就可以实现了
1:sudo apt-get install libqt4-dev
2:sudo apt-get install qt4-dev-tools
还是第二种方法简单而且不容易出错。
‘肆’ ubuntu 下使用qt creator无法编译
你没有安装G++,你把G++先装好,装好后可能还行出现一个错误,你再在网上找出错的原因。
‘伍’ QT程序在ubuntu中的编译问题,求大神指点是什么错误
找不到QT库呀 看下你的QT环境变量设置的对吗 对的话检查下有没有QtGui/QApplication这个文件 没有的话可能需要重新安装QT
‘陆’ ubuntu下qt如何编译.ui文件
登录/注册
Linux/Ubuntu下 静态编译Qt程序
转载205 阅读
mb5ff5917b5bbc5
2017-07-28 07:07:00
关注
一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的。会提示缺少……库文件之类的错误。这就是动态编译的结果。
但是如果我们想编译一个程序,这个程序在发给别人后,他们可以直接打开,而不需要特别地去先安装Qt库,那就需要采用静态编译了。
在Linux下如何静态编译Qt程序呢?
首先需要先安装静态编译的Qt,也就是静态编译Qt程序首先是需要一个静态编译安装的Qt
1、下载源安装程序,如 qt-x11-opensource-src-4.5.1.tar.gz
2、解压到某一目录
3、cd 进入解压后的目录,命令:
./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.5.1_static
./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.5.1_static
参数-static 指的是要采用静态编译Qt的方法
参数-release指的是只编译release版本的库
参数-qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg 是更好确定Qt编译出的程序能在目前不知的系统下运行。
参数-nomake demos -nomake examples 指的是不编译demos和examples
参数-qt-sql-sqlite 如果没有这个参数,configure的时候,可能会提示sqlite 有问题而中止。
参数 -prefix /usr/local/Trolltech/Qt-4.5.1_static 指明静态编译的Qt安装的目录,命名Qt-4.5.1_static是为了区别动态编译安装的Qt,因为如果没有这个参数,安装时会覆盖之前动态编译安装的Qt(如果有的话)。
4、没问题后
make
5、make没问题后再
sudo make install
6、增加(或改变)环境变量:
在你home目录下你的的名字的目录中,在.profile文件中追加(或改变)如下环境变量:(为Qt设置一些特定的环境变量,这个很重要!.profile文件是隐藏的,可在你的名字目录下,按Ctrl+H显示所有文件查看到)
QTDIR=/usr/local/Trolltech/Qt-4.5.1_static/
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
QTDIR=/usr/local/Trolltech/Qt-4.5.1_static/
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
7、重启
8、在终端测试一下qmake
成功的话,下来用qmake编译出的Qt程序就是采用静态编译的。这时你会发现,静态编译出来的程序大小变大了相当多。
静态编译与动态编译的区别
动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。、
静态编译就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。所以其优缺点与动态编译的可执行文件正好互补。
‘柒’ ubuntu上下载qt文件时候在终端显示没有文件或目录
ubuntu上下载qt文件时候在终端显示没有文件或目录有两个解决方案。
1、进入qt源码目录重新编译安装qt。
2、重新配置编译安装qt4.8.6,安装完成进入qt安装目录里面也包括了QtWebKit文件,此时有了目录文件。
‘捌’ Ubuntu安装Qt后,编程出来的界面很奇怪,并且中文不能显示
中文问题:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
显示问题:
这是ubuntu的unity桌面。你的桌面环境是什么,就会显示什么。
你可以换成gnome桌面或者kde来改善一下。
‘玖’ QT 在Ubuntu下无法编译,怎么解决
g++没有安装,一般这种情况都是环境中找不到编译器的缘故。你这只是简单安装的linux的桌面版qt,所以只要环境中有c++即可,如果你是安卓,那东西就更多了,ant,java,sdk等等。
解决办法:sudo apt-get install g++
‘拾’ ubuntu中编译qt程序问题
提示 :make: 没有什么可以做的为 `first'。
这个是Makefile的一个提示,出现这个提示是因为你编译出来的可执行文件的时间戳比你的源代码文件的时间戳“迟”,所以make认为你这种情况下没必要编译,因为即使编译了,编出来的东西和现有的可执行文件一样,就是浪费时间了,所以提示 没有什么可以做的为 `first'。
如果你还要编,随便打开源代码的一个文件,保存下,就可以编译了