⑴ Mac OS X下控制台执行qmake为什么不能生成Makefile
完整的qmake语法是:
注意:主要是-spec macx-g++这个选项,为qmake指定编译环境,在Windows下可以增加一个QMAKESPEC的系统环境变量,值为win32-g++或者msvc2005等等,具体看编译器类型,在Mac下也可以这样做,省去每次qmake加选项的烦恼.具体的makespec取值看目录/usr/local/Qt4.4/mkspecs/下的目录名称,对应你的编译环境,以macx-g++为例,编辑~/.profile文件,如果没有则创建一个,加入一行:export QMAKESPEC=macx-g++,存盘重新打开控制台便可以了。
但是此时仅仅使用qmake命令,虽然生成了一个Makefile,但并没有像Windows下那样同时产生Makefile.Debug、Makefile.Release文件和debug、release两个存放编译中间文件的目录,虽然此时可以make成功并产生目标程序,但中间文件都散落在源码目录中,比较难看,这就是后面这个参数CONFIG+=debug_and_release没有加上的原因,为了一劳永逸,在/usr/local/Qtx.x/mkspecs目录中找到对应的macx-g++目录,其中有一个文件叫qmake.conf,用文本编辑器打开,在其中的CONFIG+=这行中加入参数debug_and_release,重新qmake,搞定!
⑵ 安装qt-embedded-linux-opensource-src-4.5.1.tar.gz configure出现错误(已经安装过tslib1.4)
你应该在/tmp/qt-embedded-linux-opensource-src-4.5.1/mkspecs/qws/linux-arm-g++.这个文件夹下面的qmake文件中进行添加QMAKE_INCDIR=/usr/local/tslib/include/ QMAKE_LIBDIR=/usr/local/tslib/lib/
我的错误跟你一样的,我这么做就做出来
⑶ 安装tar.gz类的安装包时候使用make出现错误
变身超人:~$ su
把usr变成可读可写可执行文件夹:~# chmod 777 /usr
~# cp "你的.conf文件绝对路径" "/usr/share/qt3/mkspecs/default/qmake.conf"
DONE
⑷ 安装QT4.7.4的问题,在线等
呵呵 我刚装了QT,可能是你的环境变量没设置好:
Qt环境搭建
1. 环境简介
PC Windows XP
Qt 4.7.0
2. 所需安装文件
①. qt-sdk-win-opensource-2010.05.exe <包含qt creator 2.0.1和qt 4.7.0库,qt creator是qt的集成开发环境,qt库是用mingw编译的>
3. 安装
1) 安装 qt-sdk-win-opensource-2010.05.exe ,选择默认路径C:\Qt\2010.05(下文简称该路径为“安装目录”,请根据自己的情况对号入座)。可选其他路径,但是注意:“安装目录”不能有中文字符,也不要有空格。建议只修改安装盘,比如改为:D:\Qt\2010.05。安装所需空间约为1.7G。
2)添加环境变量(我的电脑→属性→高级→环境变量→用户变量):
①新建变量,变量名:QTDIR,变量值:安装目录\qt;
②新建变量,变量名:PATH,变量值:安装目录\qt\bin 和 安装目录\mingw\bin,2个值之间用分号隔开,如果用户变量中有PATH变量则编辑之。
4. 编译运行
用Qt Creator打开qt工程文件.pro直接编译即可。如果工程改变了路径,则先删除工程目录下的.pro.user文件,再打开.pro文件,这样qt creator就会重新生成工作目录,否则需要手动修改。
编译生成的exe文件不能单独运行,需要相应的动态链接库。如果电脑上安装了qt,运行exe时提示找不到动态连接库,则是环境变量没设置好的问题,请检查环境变量是否设置正确;如果电脑上没安装qt,则需要事先将所需的动态库复制到程序所在文件夹。
⑸ centos7安装编译mysql的驱动的问题
检查yum是否有 mysql-server的 repo
命令:
rpm -qa|grep mysql
没有安装就按照本步骤进行下载和安装,有则跳过
下载repo,命令:
wget 地址请参考图片
安装repo,命令:
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装后,在/etc/yum.repos.d/ 会有两个 repo 文件 mysql-community.repo,mysql-community-source.repo
安装 mysql
命令:
sudo yum install mysql-server
等待命令完成即可
重新启动 mysql 服务
命令:
sudo systemctl restart mysqld.service
测试登陆
命令:
mysql -u root
⑹ Cannot find file: g:\QT文件夹\QT工程文件夹\A\helloworld\helloworld.pro.关键是目录里明明有这个文件
貌似是路径中不能出现中文,你把路径弄成英文的看看。 QT中很多东西都忌讳中文,你最好要习惯用英文
⑺ 如何让QT编译器显示光标
1 PC版本
在终端中输入:sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer qt4-qmlviewer
◆qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator
◆qt4-doc 这个是帮助文档
◆qt4-qtconfig Qt的配置工具,这个装好默认好
◆qt4-demos 官方的一些Demo
◆qt4-designer 可视化窗体设置工具
◆qt4-qmlviewer 和qtcreator相关
安装后,没有安装Qt Creator,在Ubuntu 图形桌面上点击左侧的Ubuntu Software Center,搜索Qt ,选择Qt Creator
完成后,在terminal命令行执行命令 qtcreator启动Qt Creator了
注:如果需要编译特定版本的,如4.8.5,则:
(1) 安装一些依赖包
sudo apt-get install libX11-dev libXext-dev libXtst-dev
(2) 下载Qt源码包 qt-everywhere-opensource-src-4.8.5.tar.gz,解压后进入目录
用命令 sudo ./configure -prefix /usr/local/Trolltech/Qt-4.8.5;sudo make;sudo make install即可
2 ARM版本
注:以下所使用的交叉编译工具为arm-none-linux-gnueabi 如果使用arm-linux 做相应的修改即可
(1)下载Qt源码包 qt-everywhere-opensource-src-4.8.5.tar.gz;
(2) 解压后进入该文件夹,执行.
./configure -opensource -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -no-webkit -qt-libtiff -qt-libmng -qt-libjpeg -qt-libpng -no-qt3support -nomake demos -nomake docs -nomake examples -little-endian -host-little-endian -fast -lrt
(3) 执行make,及make install命令,一般时间比较长
(4) 完成后修改mkspecs文件的权限,供qt creator使用: sudo chmod 775 mkspecs -R
(5) 配置qt creator:工具->选项->Qt4 找到“手动设置”增加一个,qmake路径填第二步中的安装目录下的qmake路径,”usr/local/Trolltech/QtEmbedded-4.8.5-arm/bin/qmake“
(6)配置完成后,打开项目后点左侧“项目”,选择刚才配置的Qt版本即可编译生成arm版程序了
3 移植到ARM
(1)需要将usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib移植到ARM板上相同的位置,将plugins里的.so也移入..../QtEmbedded-4.8.5-arm/lib
(2) 对(1)中的lib/下的.so做链接
ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so
ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so.4
ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so.4.8
ln -s libQtGui.so.4.8.5 libQtGui.so
ln -s libQtGui.so.4.8.5 libQtGui.so.4
ln -s libQtGui.so.4.8.5 libQtGui.so.4.8
......
注:(1)(2) 也可以用压缩打包整个lib,拷贝过去来实现
(3)vi ~/.bashrc 文件,加入
QTDIR=usr/local/Trolltech/QtEmbedded-4.8.5-arm
export QTDIR
PATH=$QTDIR/lib:$PATH
export PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
4 一些常见错误
(1) “QMAKESPEC has not been set”,解决方案:sudo gedit ~/.bashrc ,添加内容:export QMAKESPEC=usr/local/Trolltech/QtEmbedded-4.8.5-arm/mkspecs/qws/linux-arm-gnueabi-g++
(2) 安装了多种版本的QT,如果想默认使用QtEmbeddedb版本,可以在上述文件中加入:export PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-arm/bin:$PATH
(3) 配置完成后,可使用qmake -project;qmake;make进行工程编译
(4) arm开发板的终端打不开,出现"grantpt failed:..."问题,可以输入:mount -o remount,gid=5,mode=620 /dev/pts 回车
(5) Qtcreator配置出现,没有编译链,则可加入GCCE编译链,目标位置就是linux-none-arm-guneabi-g++所在位置
(6) 出现qmlviewer 没有安装的问题,可从/usr/bin里将qml开头的三个可执行文件拷到usr/local/Trolltech/QtEmbedded-4.8.5-arm/bin下
(7) make 出现arm-none-linux-gnueabi-g++命令未找到,如果确定环境变量已经添加,则检查文件所属账号是不是你现在账户;环境变量如果一直不对,可以关掉终端,新开一个,重新设置
(8) 如果开发板运行程序的时候出现 cannot mix incompatible Qt library with this library,查找资料,大家都说最可行性的解决方案是卸干净,重新编译,自己花了好长时间重新编译后,发现还是一样。然后用ldd <filename> 查看了运行文件依赖的库,发现程序有部分链接到了开发板上的Qt库。做了Qt动态库的全部ln(具体见第3部分)
//////////////////////////////////////////////////////////////////////////////////////////////////////由于项目需要,需要加入触屏,编译过程中发现不同与之前的新的问题,记录如下
一 触屏库tslib的编译
1 下载相应的工具
do apt-get install automake
sudo apt-get install autogen
sudo apt-get install autoconf
sudo apt-get install libtool
2 很重要的一步,设置 CC和CXX
export CC=.... ,export CXX=...,一般CC=arm-linux-gcc ,CXX=arm-linux-g++,我的交叉编译环境是arm-none-linux-gnueabi-gcc,arm-none-linux-gnueabi-g++,输入命令 export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++
3 编译
cd tslib
./autogen.shecho "ac_cv_func_malloc_0_nonnull=yes" > arm-none-linux-gnueabi.cache #(这样做到目的是避免出现undefined reference to rpl_malloc错误)./configure --host=arm-none-linux-gnueabi CC=<你的cc编译器所在路径> CXX=<你的++编译器所在路径> --cache-file=arm-none-linux-gnueabi.cache -prefix=/usr/local/tslibmakemake install
4 检查,可进入/usr/local/tslib/bin 里,file ts_test(或其他文件) 如果显示ARM,表明编译正确,如果显示80386表明你用的不是交叉编译器,而是系统的gcc。注:因为版本不一致,导致编译QT时一直出现 fail to find tslib function...,加入-verbose选项,打印出/opt/../ld:cannot find -lts(tslib和qt编译器版本不对应造成)。
二 编译QTe 4.8.5
1 编译指令需要改为./configure -opensource -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -no-webkit -qt-libtiff -qt-libmng -qt-libjpeg -qt-libpng -no-qt3support -nomake demos -nomake docs -nomake examples -little-endian -host-little-endian -no-xcursor -no-mouse-linuxtp -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -fast -lrt
不需要鼠标的话就加上绿色的文字,并且修改./src/gui/embedded/qwscursor_qws.h,在文件头部加上#define QT_NO_QWS_CURSOR
2 编译器最好在qws/linux-arm-gnueabi-g++/qmake.conf中指定完全的路径,否则可能出现一些奇怪的错误。
3 qmake.conf中记得加入-lts 在g++ gcc后面
三 移植到开发板
如果开发板中没有tslib库,则需要进行移植1 将tslib库拷到开发板 /usr/local/tslib2 修改ts.conf vi /usr/local/tslib/etc/ts.conf -》将#mole_raw input前的#去掉3 vi /etc/profile 添加export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event1
export QWS_MOUSE_PROTO=tslib:/dev/input/event1
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=none #避免出现“open console device: No such file or directory KDSETMODE: Bad file descriptor”的错误
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/libTSLIB_TSDEVICE 和QWS_MOUSE_PROTO这两项需要查看自己的板子的触摸屏设备对应/dev/input/下哪个文件可用cat /proc/bus/input/devices查看具体可参考博客http://blog.163.com/zhuandi_h/blog/static/180270288201222310291262/
顶
1
⑻ Qt5交叉编译配置问题
找不到 libQtGui.so 这个库, 添加环境变量 LIBRARY_PATH=/opt/Qt4.7/lib 试试 另外你使是用 arm-linux-gcc 编译程序, 需要保证 QT 下的 libQtGui.so 库也是用 arm-linux-gcc 编译的, 否则编译链接会出问题
⑼ 在VMware上装了FC6后,安装qt-embedded-linux-opensource-src-4.5.3时出现如下问题,请教高手解答。谢谢!
现在fedora 13都快出来了,你怎么还装fc6啊?不过没关系,呵呵。
给你的建议:
Qt有点苛刻,你的安装路径不能出现汉字和空格,仔细检查,比如会不会出现汉字的盘符啦,带空格的文件夹啦等等问题。
希望对你有帮助
⑽ Qt中的一个问题 求大神帮忙
额 刚才自己解决了,把源文件复制到一个新建文件夹里就可以了 路径自己设置就行了