❶ 如何在ubuntu下搭建qt交叉编译环境
第一步,你需要下载QT源代码(4.8的编译比较容易),然后通过 ./configure (参数自己定,不懂看readme)接下来就是在QT CREATE里面配置了,如下:
工具-->选项--->构建和运行
1. 编译器: 点击添加: "名称"随意
"编译器路径" **/arm-none-linux-gnueabi-g++
找到你的编译器,我这里是用ARM的
其他不填也行.
2.Qt Versions: 点击添加:找到通过源码编译好的qmake文件. 例如:/usr/local/Qt-4.8.6/bin/qmake
3.构建套件: 点击添加: "名称"随意, 重点是 "编译器"跟"QT版本", 分别选择刚刚添加的两项.
调试器:如果是桌面环境那就选桌面的, 如果是在嵌入式中的,那不要也可以..
如果是交叉编译,那只能编译,不能运行...
❷ qt交叉编译调试环境的搭建有没有人搬过来
您最初的想法是正确的,x86平台的库放在电脑上即可。
而通过arm-linux-交叉编译工具链编译过的库,是需要放在
开发板的文件系统里面的,通用的做法一般是放在/lib或者/usr/lib
目录里面即可。或者也可放在其他目录中,但是需要配置一下LD_LIBRARY_PATH
环境变量。例如放在/home/qtlib目录中,由于这个不是系统默认的动态库目录,
需要设置环境变量LD_LIBRARY_PATH,在/etc/profile下面添加:
export LD_LIBRARY_PATH=/home/qtlib:$LD_LIBRARY_PATH
❸ 如何进行Qt应用程序的交叉编译
首先得把我们在X86机上调好的程序进行交叉编译,如果在X86上都没有通过的话。。那就不用交叉编译了,(肯定是通不过的),还是到正题吧,设置好环境变量,我们用以用echo 来查看环境变量,echo $TMAKEPATH ,如果返回的不是.../qws/linux-arm-g++ 的字符的话,我们一定得从新设置,
export TMAKEPATH=/tmake 的安装路径/qws/linux-arm-g++ ,同时QTDIR一定得要指定QTE的安装路径,设置过程如下:
export QTDIR=...../qt-2.3.7
以上环境设置好后,我们可以使用tmake来生成Makefile,注意这里我们是用tmake,而不是用qmake(注意),tmake工具在tmake包里面。 具体做法,我们可以在命令行下打:
tmake -o Makefile 工程名.pro
这样我们就新生成了一个Makefile文件,下一步,我们要打开这个文件,做一些小的修改
1: 将LINK=arm-linux-gcc 改为:LINK=arm-linux-g++
2:将LIBS=$(SUBLIBS) -L$(QTDIR)/lib -lm -lqte这句话改为:
LIBS=$(SUBLIBS) -L/opt/gcc-2.3.2-glibc-3.3.2/lib -L$(QTDIR)/lib -lm -lqte
加上你的交叉编译的库。
最后我们可以make了,一个可以在您的板子上可以运行的二进制文件产生了。linux
❹ 紧急求助QT程序交叉编译
要将我们写好的程序发布到开发板上,我们需要对Qt/Embedded 重新编译,与前面在宿主机上编译类似,步骤如下:
1. Build Qt/Embedded
tar –xzvf qt-embedded-2.3.10-free.tar.gz
mv qt-2.3.10 qt-2.3.10-target
export TMAKEDIR=$PWD/tmake-1.13
export QT2DIR=$PWD/qt-2.3.2
export QTEDIR=$PWD/qt-2.3.10-target
cd $QTEDIR
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
make clean
./configure -xplatform linux-arm-g++ -no-xft -no-qvfb -depths 4,8,16,32
make
出现
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator new[](unsigned int)'
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator delete(void*)'
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `__cxa_pure_virtual'
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator delete[](void*)'
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator new(unsigned int)'
collect2: ld returned 1 exit status
make[4]: *** [t1]
暂时不管它,不影响的。下面的第2步: “修改tmake 配置文件” 即可解决此类问题。
这步完成后,我们会在/$QTEDIR/lib/目录下面看到libqte.so libqte.so.2 libqte.so.2.3 libqte.so.2.3.10 这四个文件,我们可以使用file 命令来查看这个库文件是否是我们需要的在开发板上跑的库。
file libqte.so.2.3.10
libqte.so.2.3.10: ELF 32-bit LSB shared object, ARM, version 1 (ARM), stripped
有了这个库以后我们就可以把它拷贝到我们的开发板中相应的库目录下面,这里我们选择了开发板上的/usr/lib 目录,将/$QTEDIR/lib/下的libqte.so*复制到/usr/lib 目录下。
首先要建立宿主机和开发板的通讯,假设本机的ip 地址为192.168.0.56 并且/root/share 为共享文件夹。
cp –arf /$QTEDIR/lib/libqte.so* /root/share
启动minicom
mount –t nfs –o nolock 192.168.0.56:/root/share /mnt/nfs将文件复制到开发板上
cp –arf /mnt/nfs/libqte.so* /usr/lib
本篇文章来源于 黑软基地-中国最大的黑客软件安全教程QQ资源下载站! 原文链接:http://www.hackvip.com/article/sort0136/sort0186/Hackvip_184143.html
❺ 如何进行Qt应用程序的交叉编译
1.设置环境变量: PATH=添加为交叉环境下编译后生成的qmake路径,通常和主机的系统是一种架构,同时需要确保交叉gcc编译器在在PATH定义 QMAKESOEC=交叉编译的对象的的平台描述文件,例如makespec/qws/linux-arm-g++ QTDIR=Qt的安装文件,存放这库和头文件 LD_LIBRARY_PATH=存放的是Qt的交叉编译后的库,准备为目标编译链接的库 2。执行环境变量 通常我们都会将以上的设置放置在一个bash脚本中,需要的时候就执行一下。开始编译 1.使用qmake -project来生成项目文件****.pro 2使用qmake来生成Makefile文件 3使用make来编译移植:使用readeif工具来分析目标系统的以来库,然后相关的库到目标文件系统内。通常我们也是采取脚本的方式来完成。 一般而言,凡是有规律的或者重复性的工作,我们都可以采取脚本的方式来解决。
❻ 在ubuntu下怎么交叉编译qt程序
巩义市汽车北站RD www.u8-u8.com。LGS器件、军工装备等领域的配件热喷涂强化后,其性能和使用寿命得到大大的提高。 河南欣科表面工程
❼ linux下怎么装qt交叉编译器
我用的是qt-everywhere-opensource-src-4.7.0这个版本。不同版本配置方法有些许不同,比如说配置文件的名字目录等。
1.解压qt-everywhere-opensource-src-4.7.0.tar.gz
2.修改配置文件(配置文件根据你开发板和编译工具不同而不同,不清楚你什么环境,这是我以前的配置,linux-arm-gnueabi-g++是我用的交叉编译工具)
qt-everywhere-opensource-src-4.7.0/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf文件修改为如下内容:
QMAKE_CC
QMAKE_CXX
QMAKE_LINK
QMAKE_LINK_SHLIB
QMAKE_AR
QMAKE_OBJCOPY
QMAKE_STRIP
QMAKE_INCDIR
QMAKE_LIBDIR
QMAKE_LIBS
把这配置都指定清楚,有编译器,lib等,看名字应该都能理解。
3.执行。
./configure -prefix-install -prefix /opt/qt4 \
-release -opensource -shared -embedded arm \
-no-fast -largefile -exceptions \
-stl -no-qt3support \
-xmlpatterns -no-multimedia -no-audio-backend \
-no-phonon -no-phonon-backend \
-svg -no-webkit -javascript-jit \
-script -scripttools -declarative \
-no-mmx -no-3dnow -no-sse -no-sse2 \
-qt-zlib -qt-gif -qt-libtiff \
-qt-libpng -qt-libmng -qt-libjpeg \
-no-openssl \
-xplatform qws/linux-arm-gnueabi-g++ \
-qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon
这里给你的例子configure,你要的肯定和我的不一样,我们需求环境都不同。每个配置项的意思不可能这里都给你说清楚,你可以--help自己理解。
4.执行make。
当然,这样你99%是编译不过的。有些文件需要根据你交叉编译环境进行修改。自己多尝试吧。我也是整了一两个个月,才慢慢知道的。
❽ Qt在linux下怎样设置交叉编译环境
你下载的是QTE么?QT4.7安装时好像用的gmake和gmake install;安装完成之后在lib文件夹下会新生成六七个.so库文件;如果你完全正确安装了并且环境变量都设置正确了,应该可以编译通过;
❾ 有关QT CREATOR 交叉编译的问题
请先把QtE成功移植到板子上.
然后把QtE的qmake和交叉编译的工具链添加到QtCreator中.
在PC上写完界面后,把项目的编译环境改成QTE再编译一下.把生成的的可执行程序和QTE的lib, nfs或tftp到板子上.然后还要改变环境变量,有几个必须改的环境变量.
export QTDIR=
export QTDEDIR=
export PATH=
export LD_LIBRARY_PAHT=
全部添加指向你的lib.如果你怕麻烦可以把QTE的lib考到/lib目录中.
然后就可以./你的可执行程序了.