我来回答你的问题吧 首先make命令一般是linux上gcc默认使用的 而windows上编程一般使用visual c++的,它的编译器命令就不是make而是nmake。其次你使用qtCreator编译就可以,没必要使用命令行,因为命令行需要设置环境变量的。如果硬要使用命令行可以用qt工具栏里找一个qt command prompt,这里面用minw32-make可以编译,ming32是qtcreator使用的编译器。
改成#include <QtGui/QApplication>试试
ubuntu的桌面环境使用gnome,gnome是基于gtk的,图形界面的响应还是不错的,比如打开gftp的速度就非常快;但某些应用程序可能会慢一些,尤其是在gnome下使用QT程序,java程序时,比如openoffice,所以建议你在ubuntu下只使用gtp程序,比如浏览器用chrome,视频播放用totem,音频播放用exaile,这样会好一些。
当然,现在linux桌面环境有两大阵营(gnome和kde)和一群散兵(xfce,lxde,enlightenment,fluxbox,fvwm等等等等),越是庞大的桌面环境响应越是慢,比如gnome,越是小巧的,窗口越快,比如lxde,但因为小,提供的功能就很少,相应的软件也少。
如果嫌gnome慢,你可以尝试用kde,就是kubuntu版本,直接从源更新就可以。kde4比gnome似乎快一些,最好用的还是kde35,不过现在看不到了。
仔细看里面的源代码,应该有一些文件里有连接到lib文件的,这是QT的动态库文件把QT库编译成linux下的lib,然后编译的时候,把lib文件放在同一文件夹,并且编译命令加上-l lib或者放到根目录下的lib目录下也可以。这样试一下。o文件还需要经过连接才能生成可执行的文件。
对于一个qt工程,qt-creator运行没有问题。后面为了提高自动化效率,写一个脚本通过命令行编译qt程序,发现编译报错,报错信息如下:
报错信息直接指明了原因:找不到头文件,说明要用的库的头文件路径不在 INCLUDE 变量里,所以编译时就找不到。
除了上面的报错,可能还会有如下的报错情况:
那为什么qt-creator运行没有问题呢?
因为 qt-creator 获取了一些环境变量如下:
解决办法就是自行把需要用到的路径加到相应的变量里。
如下通过 python 脚本来编译qt程序,把路径加到相应的 PATH 、 INCLUDE 、 LIB 环境变量里,这样编译的时候就能找到相应的文件
脚本里的路径添加都是临时生效,脚本执行完就失效了,所以不用担心会破坏系统环境变量。
Designer设计一个Form,保存为gotocellui。然后用纯文本编辑器写一个maincpp。接着运行qmake我的是windows的系统。这是原文:===============================================将此对话框保存到gotocell文件夹中,取名gotocelldialogui,在此文件夹中创建一个maincpp文件,包含如下内容:#include#include#include"ui_gotocelldialogh"intmain(int argc, char argv[]){QApplicationapp(argc, argv);Ui::GoToCellDialogui;QDialogdialog = new QDialog;uisetupUi(dialog);dialog-show();returnappexec();}现在运行qmake命令(qmake-project; qmakegotocellpro)创建makefile文件。Qmake可自动检测到用户界面文件gotocelldialogui,并在makefile中添加合适的UIC(userinterfacecompiler)规则语句。UIC工具最终将gotocelldialogui文件转换为标准C++代码,存于ui_gotocelldialogh文件中。===============================================------解决方案--------------------------------------------------------那是以前没有QtCreator的搞法现在QtCreaor能根据需要自动调用相关可执行文件工作不过手动一次也有好处在开始菜单找到Qt命令行工具,打开控制台窗口(实际上执行一个Bat文件,它会设置QT的环境变量)进入maincpp所在目录,敲入qmake-project回车,作用是生成Pro工程文件再敲入qmakeXXXpro(XXX与目录名有关)回车,生成相关MakeFile文件再敲入mingw32-make,回车,会编译并连接生成一个可执行文件(如果没有刻意取消,QTSDK安装时会安装gun的编译器,mingw32-makeexe,为Windows量身打造的最小需求编译器),当然你也可以用VC的编译器,只要路径对--------------------------------------------------------
根据提示:add the "-qws" command-line option加个“-qws"参数试试
如果还不行确认安装正确?
用什么包安装?安装方式贴出来,内核版本列出来,只有软件版本和发行版本不行,一般有些软件也要和内核版本对应
多参考(谷歌)
你这个需求可以使用popen()来实现。
FILE file = popen("/linphonec", "w");
fwrite("call xxxx\r\n", 11, file);
fwrite("terminate\r\n", 11, file);
pclose(file);
你可以在QT的按钮slot里向file写入命令,这些命令就能传到linphone的stdin。
这么做的不足 1 popen只能打开单向管道 因此你读不到linphone的输出结果。2 popen在较低版本的uclibc上不是thread safe的
变通的办法是你改一下linphone,调用freopen来重定向自己的stdin和stdout
不过我觉得你最好还是改改linphone,集成到你的QT程序里算了,也不麻烦
以上就是关于qt的qmake命令的使用方法全部的内容,包括:qt的qmake命令的使用方法、怎样才能不启动gnome桌面,单独运行QT程序、linux下 qt程序源代码如何编译运行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)