qt的交叉编译
❶ qt交叉编译后不显示窗口
qt交叉编译后不显示窗口是因为误将类成员函数名称命名为show。程序在执行到w.show()之后,编译器将成员函数看作show函数的重载,因此不再调用默认的show函数导致窗体无法显示。
❷ 姹傚姪锛岁t鍦╨inux涓嬶纴宓屽叆寮忎氦鍙夌紪璇戠幆澧冮厤缃锛
绛:1銆佸彲浠2銆丵tCreator鍙鏄涓涓闆嗘垚寮鍙戝伐鍏凤纴杩欎釜鐗堟湰闅忔剰锛岀绣涓娄笅灏卞彲浠ワ纴Qte涓嶆槸鐢ㄦ渶鏂帮纴钥屾槸链濂界敤璺熶綘鍦↙inux寮鍙板紑鍙戜竴镙风殑銆
棣栧厛瑕佸湪linux涓嬩氦鍙夌紪璇恸te镄勫簱锛岀劧钖庡啀灏哃ib杩欎簺鏂囦欢绉绘嶅湪𨱒垮瓙涓婏纴链钖庨氲繃浜ゅ弶缂栬疟濂界殑搴揿幓缂栬疟浣犲湪pc涓婄紪鍐欑殑绋嫔簭锛屾斁鍒版澘瀛愪笂杩愯!鍏充簬浜ゅ弶缂栬疟QT镄勬枃绔狅纴缃戜笂鍙浠ユ悳鍒板緢澶氥
3銆乄IN7骞冲彴镄勪氦鍙夌紪璇戝伐鍏峰畨瑁呮瘆杈冮夯鐑︼纴涓嶆帹钻愪娇鐢锛岀洿鎺ュ湪Linux铡讳笅涓涓鍒浜轰氦鍙夊伐鍏峰寘锛岀洿鎺ヨВ铡嫔氨濂姐伞
铡诲弸锽勭殑瀹樼绣锛屾垨鍏朵粬缃戠珯涓嬭繖绫荤殑宸ュ叿瑙夊缑浣犺佸厛鐞呜В浠涔埚彨浜ゅ弶缂栬疟寮鍙!!!!!
❸ 怎样交叉编译qt-x11-opensource-src-4.3.2
可以的,只需要把QtVersion设置好就可以了。
点击Tools->Options->Qt4->Qt Versions.
然后添加你已经编译的Qtembedded目录进去,就可以编译了。
很简单的。
还有,在你的工程中的Release配置中,必须保证Qt Version是Qtembedded,也就是你刚才新建的那个Qt Version
Qt Creator默认是Default Qt version的。
这需要点击左边的Projects来修改。
如果你前面把Default Qt Version改为Qtembedded了,就不用再改了。
另外,交叉编译的可执行文件是不能用QtCreator调试的,因为硬件平台不一样。
❹ Qt5.7涓巘slib镄勪氦鍙夌紪璇戣板綍
骞冲彴鏄痠top-4412寮鍙戞澘锛岀紪璇戝櫒鏄 arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu
鎺ヤ笅𨱒ラ厤缃甦evice阃夐” 锛岀敱浜嶲T瀹樻柟鍙瀵规湁闄愮殑璁惧囱繘琛屼简鏀鎸侊纴鎴戜滑镄勮惧噄top-4412涓嶅湪鍏朵腑銆傛墍浠ヨ繖涓姝ヨ佹坠锷ㄥ垱寤
杩欐牱灏卞嶅埗浜嗕竴浠芥柊镄勯厤缃鏂囦欢澶癸纴鎴戜滑瑕佷慨鏀硅ユ枃浠跺す閲岀殑 qmake.conf 鏂囦欢锛宑at璇ユ枃浠跺彲浠ョ湅鍒伴噷闱涓昏佹寚瀹氢简缂栬疟鍣锛岄栧厛鎶 arm-linux-gnueabi- 鎹㈡垚鎴戜滑浣跨敤镄 arm-none-linux-gnueabi- 锛屼娇鐢╯ed镟挎崲
铹跺悗鍦ㄩ噷闱include涔嫔墠锷犱笂涓嬮溃杩欎袱鍙ヨ瘽
杩欓噷鎸囧畾浜哘T榛樿ょ殑妗岄溃骞冲彴鏄痩inuxfb锛 浠ュ强缂栬疟镞剁殑鍙傛暟锛岃繖涓鍙傛暟瀵瑰簲cpu镄勫瀷鍙枫
链缁堣ユ枃浠舵槸杩欐牱镄勶细
铹跺悗锲炲埌 qt-everywhere-opensource-src-5.7.0 鐩褰曪纴 vim.cconfigure.sh 鍒涘缓涓涓鑴氭湰鏂逛究杩涜岀紪璇戯纴鍐呭瑰备笅銆
-xplatform 鎸囧畾浜嗘垜浠瀵瑰簲镄勮惧囷纴 链钖庝笁琛屽瑰簲涔嫔墠缂栬疟 tslib 镄勮矾寰勶纴姝ゆ椂 tslib 涓 qt-everywhere-opensource-src-5.7.0 浣崭簬钖屼竴鐩褰曚笅锛屽叾浠栫殑鍙傛暟寤鸿镊宸卞纰娓呮氾纴鍙浠ヤ娇鐢 ./configure --help 镆ョ湅浠ュ强鍙傝冨畼缃戠殑璇存槑 configure-options 浠ュ强 embedded-linux
鎺ヤ笅𨱒ュ紑濮嬭繘琛宑onfigure
寰楀埌杩欎釜椤甸溃
钖戜笂婊戝彲浠ョ湅鍒板綋鍓岖殑qt缂栬疟镓鏀鎸佺殑鍐呭癸纴鎺ヤ笅𨱒ュ紑濮嬬紪璇
濡傛灉缂哄皯澶存枃浠惰岀紪璇戝嚭阌欙纴鎼灭储杩欎簺澶存枃浠剁殑钖岖О铹跺悗瀹夎呯浉搴旂殑渚濊禆鍖呭嵆鍙銆
缂栬疟鎴愬姛涔嫔悗锛屽湪褰揿墠鐩褰旷敓鎴 __install 鏂囦欢澶
❺ Qt交叉编译板子上运行的程序时,出现错误,求大神解决!!!
要使用pthread_getattr_np需要在源码头部加上#define _GNU_SOURCE
arm-linux-g++ -static -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.8.5/lib -o .bin/n329demo-static .obj/main.o .obj/n329win.o .obj/moc_n329win.o -L/usr/local/Trolltech/QtEmbedded-4.8.5/lib -lQtDeclarative -L/usr/local/Trolltech/QtEmbedded-4.8.5/lib -lQtScript -lQtSql -lQtGui -lts -lQtNetwork -lQtCore -lm -ldl -lrt -lpthread
这个最后的-lpthread修改为-pthread
❻ ubuntu Qt4.7.0应用程序交叉编译能生成二进制可执行文件吗
Qt交叉编译没有任何问题,配置说起来也不是很复杂。
首先我们需要的东西有:
交叉编译器:如arm-linux-gcc
Qt经过 arm-linux-gcc 交叉编译过的库:也就是把Qt的库自己用arm-linux-gcc编译,需要大几个小时,将交叉编译好的Qt库拷贝在开发板对应路径。
在QtCreator里的
“工具->选项->构建和运行” 的“Qt版本”标签页中指定经过交叉编译过的qmake文件路径;
“工具->选项->构建和运行” 的“编译器”标签页中指定arm-linux-gcc编译器的路径和相关文件
“工具->选项->构建和运行” 的“构建套件(Kit)“标签页中指定上面设置好的”Qt版本“和”编译器“
之后在Qt的项目中可以在不同平台之间随意切换编译。交叉编译生成的二进制文件即可在开发板上运行。
❼ 如何进行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工具来分析目标系统的以来库,然后相关的库到目标文件系统内。通常我们也是采取脚本的方式来完成。 一般而言,凡是有规律的或者重复性的工作,我们都可以采取脚本的方式来解决。