导航:首页 > 源码编译 > linux内核和qt编译器

linux内核和qt编译器

发布时间:2024-12-17 21:04:50

‘壹’ linux C语言编程gcc和qt学哪个好

gcc是一个编译器,qt是一个界面编程工具,两者是不能比的。

linux下编译c程序必然要用到gcc编译器,而qt则是用来开发界面程序的,类似windows下微软的mfc,你要在linux下写程序,必然的要会使用gcc对你的程序进行编译,至于qt只是个基于C++的界面程序开发工具,觉得以后用到就学一下,用不到就算了。

我在和你说一遍,gcc只是一个编译器。
你的意思是linux下的c/c++集成开发环境吧,anjuta,eclipse等等都可以,但他们只是提供了开发环境,编译器还是用的gcc。

‘贰’ 紧急求助,关于arm版本下QWT库移植出现的错误

下载qt源码包,到本地的x86的linux中(我们称为宿主机),例如小红帽,红旗什么的都可以,确保在宿主机上已经正确安装好了你目标板上对应的交叉编译器,例如arm-linux-gcc。然后用这个交叉编译器编译qt源码包(三步:configure,make,make install)这样就会生成目标板上所对应的qt运行库,将编译好的目标板qt运行库拷贝到目标板上,设置好环境变量,OK!QT移植成功!接下来的工作,是在宿主机上正常编写你的qt程序,然后生成一个对应x86架构的MakeFile,然后再将其中的编译器选项g++(gcc)改成arm-linux-g++(arm-linux-gcc),保存,然后make,就会生成目标板上可执行的程序了,再将这个可执行程序拷贝到目标板上,就应该可以运行了!
首先确保你编译时的内核是arm-linux 第二、用的是arm-gcc而非本地gcc 第三、QT是用arm-gcc用编译过的。arm-qt 第四、qwt用arm-gcc用编译过的。arm-qwt 第五、make是arm-gcc的make 第六、找不到libqwt库。你在制作arm文件系统时有没有将qwt库和头文件拷贝到arm文件系统的“include”和“lib”文件夹中。

‘叁’ linuxqt缂栬疟

linux涓嬫墽琛宷t绋嫔簭镐庝箞缂栬疟杩愯岋纻

1銆佸湪Linux涓嬬殑锻戒护琛岀紪杈戠▼搴忥细#mkdirhello//mkdir锻戒护鍒涘缓涓涓猦ello鐩褰#cdhello//cd锻戒护鍒囨崲鍒板垰镓嶅垱寤虹殑hello鐩褰#vimain.cpp//鍦╤ello鐩褰曚腑鐢╲i鍒涘缓涓涓猰ain.cpp鏂囦欢灏嗕笅闱㈢殑浠g爜杈揿叆鍒癿ain.cpp鏂囦欢涓#include

镐庢牱鍦╱buntu涓嫔畨瑁卶t宓屽叆寮忥纻

1cd~/Qtenv 2 3chmo+xqt-sdk-linux-x86-opensource-2010.04.bin 4 5./qt-sdk-linux-x86-opensource-2010.04.bin 涓轰简鏂囦欢绠$悊鏂逛究锛屽皢sdk涔熷畨瑁呭湪Qtenv鏂囦欢澶逛腑銆 2銆佽В铡嬫簮浠g爜鍖 鍦ㄧ敤鎴风洰褰曚笅寤虹珛涓涓猀tenv鐩褰曪纴鐢ㄤ簬瀛樻斁缂栬疟婧愭枃浠躲 mkdir$HOME/Qtenv 鍦╭tembedded鐩褰曚笅鍒涘缓arm鍜寈86鐩褰曘傚垱寤鸿繖涓や釜鐩褰曚富瑕佹槸涓轰简缂栬疟涓涓鐢ㄦ埛arm寮鍙戠増镄凲TE锛屽彟涓涓鐩褰旷敤浜庡瓨鏀剧敤浜巕vfb镄刹86涓婹TE锛岃繖镙锋紨绀哄拰寮鍙戦兘寰堟柟渚裤 1cd~/Qtenv 2mkdirarmx86 鎺ヤ笅𨱒ュ皢婧愪唬镰佸寘鍒嗗埆澶嶅埗鍒瘾rm鍜寈86涓嫔苟瑙e帇缂┿傝繖镙峰仛铏界劧娴璐逛简涓浜涚‖鐩樼┖闂达纸ps锛氩湪瀹夸富链轰笂镄勭‖鐩桦お涓嶅奸挶浜嗭级锛屼絾鑳戒负灏嗘潵鍐嶉厤缃鍜岀紪璇戣妭鐪佸緢澶氭椂闂淬 1cd~/Qtenv 2mvqt-everywhere-opensource-src-4.6.3.tar.bz2./arm 3cd~/Qtenv/arm 4tarxjvfqt-everywhere-opensource-src-4.6.3.tar.bz2 5 6cd~/Qtenv/x86 7mvqt-everywhere-opensource-src-4.6.3.tar.bz2./x86 8tarxjvf./x86/qt-everywhere-opensource-src-4.6.3.tar.bz2 瑙e帇缂╁悗鍒嗗埆阍埚笕rm骞冲彴鍜寈86骞冲彴杩涜岄厤缃锛岄厤缃鍓嶅彲杈揿叆 ./configure-embedded-help 杩涜岄厤缃甯锷╂煡璇锛屾牴鎹骞冲彴閰岖疆锛屽苟缂栬疟鍜屽畨瑁呮枃浠躲傚叾锻戒护浠g爜濡备笅锛 1cd~/Qtenv/arm 2./configure-prefix$HOME/Qtenv/arm-embeddedarm-nomakedocs-nomakedemo-nomakeexamples 3make 4makeinstall 5 6cd~/Qtenv/x86 7./configure-prefix$HOME/Qtenv/arm-embeddedx86-nomakedocs-nomakedemo-nomakeexamples 8make 9makeinstall 鍦ㄧ粡杩囨极闀跨殑閰岖疆銆佺紪璇戝悗灏卞畬鎴愪简QTE镄勫畨瑁呫傛湰浜哄湪arm鐗堢殑缂栬疟杩囩▼涓鍑虹幇杩囦袱涓阌栾锛屽湪鍙傝冦婂湪arm-linux-gcc3.4.1涓嬬紪璇憅t-embedded-4.6.2銆嫔畬鎴愮紪璇戙 瀹屾垚缂栬疟鍜屽畨瑁呭悗闇瑕佸圭郴缁熺殑鐜澧冨彉閲忚繘琛岃剧疆锛岃剧疆鍙浠ユ槸涓存椂镐ц剧疆鍜屾案涔呮ц剧疆銆备复镞惰岃剧疆鏄鐩存帴鍦ㄥ懡浠ょ獥鍙h緭鍏 1exportQTENV=$HOME/Qtenv 2exportQTXDIR=$QTENV/qtsdk 3exportQTEDIR=$QTENV/x86 4exportPATH=$QTXDIR/qt/bin:$PATH 5exportLD_LIBRARY_PATH=$QTXDIR/lib:$LD_LIBRARY_PATH 6exportQVFBDIR=$QTXDIR/qt/bin 7exportQTEMAKEDIR=$QTEDIR/bin 浠ヤ笂杩欎簺鍙橀噺鍙浠ユ牴鎹镊宸辩殑锽滃ソ杩涜屽炲垹銆傝繖绉嶈剧疆鏂规硶鍦ㄥ叧闂褰揿墠锻戒护缁堢钖庡け鏁堛 绗浜岀嶆柟寮忔槸鍦ㄥ綋鍓岖敤鎴风殑涓荤洰褰曚笅锛岀紪杈.bash_profile鏂囦欢锛屽姞鍏ヤ笂杩板懡浠よ岋纴淇濆瓨閲嶅惎锻戒护缁堢鍗冲彲銆

濡备綍鍦ˋRMLinux鐜澧冧腑鎼寤篞T杩愯岀幆澧冿纻

1銆佸彲浠2銆丵tCreator鍙鏄涓涓闆嗘垚寮鍙戝伐鍏凤纴杩欎釜鐗堟湰闅忔剰锛岀绣涓娄笅灏卞彲浠ワ纴Qte涓嶆槸鐢ㄦ渶鏂帮纴钥屾槸链濂界敤璺熶綘鍦↙inux寮鍙板紑鍙戜竴镙风殑銆傞栧厛瑕佸湪Linux涓嬩氦鍙夌紪璇恸te镄勫簱锛岀劧钖庡啀灏哃ib杩欎簺鏂囦欢绉绘嶅湪𨱒垮瓙涓婏纴链钖庨氲繃浜ゅ弶缂栬疟濂界殑搴揿幓缂栬疟浣犲湪pc

镙戣帗娲句笅镐庢牱杩愯岀Щ妞岖殑QT绋嫔簭锛

浣犲彲浠ュ弬钥侨QLiteStudio杩欎釜Qt鍐欑殑璺ㄥ钩鍙癝QLite绠$悊宸ュ叿,瀹冭嚜宸辨墦鍖呬简渚濊禆镄凲t搴,鍙浠ュ仛鍒拌В铡嫔嵆鐢,鍏煎逛笉钖孡inux鍙戣岀増.阆撶悊鍏跺疄璺焀indows鐗圦t绋嫔簭镊甯Qt搴揿樊涓嶅.

缂栬疟鍓岖粰杩炴帴鍣ㄤ紶涓涓鍙傛暟:

璇存槑:

-Wl琛ㄧず锻婅瘔缂栬疟鍣ㄥ皢钖庨溃镄勫弬鏁颁紶阃掔粰阈炬帴鍣.

rpath鏄痝cc镄勪竴涓鍙傛暟,褰撶▼搴忚锷犺浇镞,浼氭悳瀵籸path鐩褰,瀵绘垒鍏变韩搴.

rpath娣诲姞镄勭洰褰曚俊鎭淇濆瓨鍦ㄥ彲镓ц屾枃浠朵腑.

$ORIGIN琛ㄧず鍙镓ц屾枃浠舵墍鍦ㄧ殑鐩褰.

涔熷氨鏄杩愯屾椂绋嫔簭浼氩厛铡昏嚜宸辨墍鍦ㄧ殑鐩褰旷殑lib閲屽幓锷犺浇渚濊禆搴,娌℃湁镄勮瘽鍐嶅幓绯荤粺搴挞噷镓.

濡傛灉浣犵殑绋嫔簭鍦ㄧ紪璇戞椂娌℃湁浼犻抮path鍙傛暟,闾d綘涔熷彲浠ョ敤patchelf𨱒ヤ慨鏀逛綘绋嫔簭镄剅path:

娉ㄦ剰:patchelf淇鏀规枃浠跺悗鍐岘trip浼氩艰嚧鏂囦欢鎹熷潖.

镓浠ュ簲璇ュ厛鐢╯trip鍒犻櫎绗﹀彿琛ㄧ缉灏忎簩杩涘埗鏂囦欢,铹跺悗鍐岖敤patchelf璁剧疆rpath.

棰桦栬瘽,Android涓婃棦娌℃湁glibc搴,涔熸病链夊簱阈炬帴鍣╨d-linux.so.3.

濡傛灉浣犺佹妸DebianARM(濡傛爲銮撴淳Raspbian)涓婄殑杞浠舵斁鍒痨ndroid涓婅窇,浣犱竴镙峰彲浠ユ墦鍖呯▼搴忎緷璧栫殑鍏变韩搴,璁╃▼搴忎篃鑳借窇鍦ˋndroid涓,姣斿侾HP:

涔熷氨鏄浣犳妸搴挞摼鎺ュ櫒ld-linux-armhf.so.3鍜孭HP渚濊禆镄勫簱閮芥斁鍒/data/local/tmp/web/lib閲,铹跺悗璁剧疆涓鍒钖,灏辫兘鍦ˋndroid镄刟dbshell閲岃繍琛屾爲銮撴淳镄凯HP浜.

褰撶劧,浣犱篃鍙浠ョ敤patchelf璁剧疆PHP镄刬nterpreter鍜宺path,鏁堟灉宸涓嶅:

镐庢牱浜ゅ弶缂栬疟涓涓猀T搴旂敤绋嫔簭锛

1.璁剧疆鐜澧冨彉閲忥细rPATH锛濇坊锷犱负浜ゅ弶鐜澧冧笅缂栬疟钖庣敓鎴愮殑qmake璺寰勶纴阃氩父鍜屼富链虹殑绯荤粺鏄涓绉嶆灦鏋勶纴钖屾椂闇瑕佺‘淇濅氦鍙塯cc缂栬疟鍣ㄥ湪鍦≒ATH瀹氢箟rQMAKESOEC锛濅氦鍙夌紪璇戠殑瀵硅薄镄勭殑骞冲彴鎻忚堪鏂囦欢锛屼緥濡俶akespec/qws/linux-arm-g++rQTDIR=Qt镄勫畨瑁呮枃浠讹纴瀛樻斁杩椤簱鍜屽ご鏂囦欢rLD_LIBRARY_PATH=瀛樻斁镄勬槸Qt镄勪氦鍙夌紪璇戝悗镄勫簱锛屽嗳澶囦负鐩镙囩紪璇戦摼鎺ョ殑搴搑2銆傛墽琛岀幆澧冨彉閲弐阃氩父鎴戜滑閮戒细灏嗕互涓婄殑璁剧疆鏀剧疆鍦ㄤ竴涓狰ash鑴氭湰涓锛岄渶瑕佺殑镞跺椤氨镓ц屼竴涓嬨傚紑濮嬬紪璇憆1.浣跨敤qmake锛峱roject𨱒ョ敓鎴愰”鐩鏂囦欢****.pror2浣跨敤qmake𨱒ョ敓鎴怣akefile鏂囦欢r3浣跨敤make𨱒ョ紪璇戠Щ妞嶏细浣跨敤readeif宸ュ叿𨱒ュ垎鏋愮洰镙囩郴缁熺殑浠ユ潵搴掳纴铹跺悗鐩稿叧镄勫簱鍒扮洰镙囨枃浠剁郴缁熷唴銆傞氩父鎴戜滑涔熸槸閲囧彇鑴氭湰镄勬柟寮忔潵瀹屾垚銆俽涓鑸钥岃█锛屽嚒鏄链夎勫緥镄勬垨钥呴吨澶嶆х殑宸ヤ綔锛屾垜浠閮藉彲浠ラ噰鍙栬剼链镄勬柟寮忔潵瑙e喅銆

‘肆’ linux下将QT移植至arm环境

将Qt移植到ARM环境是一个常见的任务,它允许在ARM架构的平台上开发和运行Qt应用程序。在本文中,将为你提供一个大致的步骤指导,并提供一些示例代码,帮助你完成这个任务。

Qt的ARM移植步骤如下:

1. 获取交叉编译工具链:首先,你需要获取适用于ARM平台的交叉编译工具链。该工具链包括编译器、链接器和库等工具,用于在主机上生成适用于ARM平台的可执行文件。你可以从交叉编译工具链的官方网站下载,也可以从Linux发行版的存储库中获取。

2. 配置环境变量:将交叉编译工具链添加到环境变量中,确保系统能够找到它们。你可以通过编辑`.bashrc`或`.bash_profile`文件来设置环境变量,或者在每次打开终端时手动设置。

3. 下载Qt源代码:从Qt官方网站下载适用于ARM的Qt源代码。选择与你的目标ARM平台对应的版本。解压源代码到你想要安装Qt的目录中。

4. 配置Qt编译选项:进入Qt源代码目录,执行`./configure`命令来配置Qt的编译选项。你需要指定交叉编译工具链的路径,以及其他相关的选项。例如,使用`-xplatform`选项指定目标平台,使用`-prefix`选项指定Qt的安装路径。

5. 编译和安装Qt:执行`make`命令开始编译Qt。这个过程可能需要一段时间,取决于你的系统性能。完成编译后,执行`make install`命令来安装Qt到指定的安装路径。

6. 测试Qt安装:编写一个简单的Qt应用程序,并尝试在ARM设备上运行。可以使用Qt Creator来编写和调试应用程序。确保在配置项目时选择正确的工具链和目标设备。

以下是一个简单的Qt应用程序示例,用于测试Qt是否在ARM设备上正常工作:

上述示例代码创建了一个简单的Qt应用程序,显示一个标签,上面写着"Hello, ARM!"。在ARM设备上编译并运行该应用程序,如果一切正常,你应该能够看到应用程序窗口中显示这个标签。

以上是将Qt移植到ARM环境的简要步骤和一个示例代码。具体的移植过程可能因不同的ARM平台和工具链而有所不同。务必参考Qt官方文档和相关资源,以获取针对你的特定环境的详细指导和支持。

‘伍’ linux 下用arm体系QT编译问题(目前我系统里有X86 和 arm体系(老师编好的)的QT各一个)

貌似是缺少系统库,有些版本的linux编译qt是会出现缺少系统库而导致编译不成功的问题,不是很推荐用最新的编译器来编译,其实2.4的内核和3.4.5的编译器做qt就已经足够了,你可以去查查看那些版本的linux下可以成功的编译qt,安装的时候尽可能把开发用的库都选上,不然就只有自己再去打补丁,
仅作参考

‘陆’ qt在linux上和移植时用的到底是哪个qmake

第一步,linux下编译安装qt

仍然是用的ok6410提供的qt-everywhere-opensource-src-4.7.1.tar.gz

1、首先在我自己的目录/z 下新建个qt-x11,将文件拷贝解压

sudo su (取得root权限)

mkdir /z/qt-x11

cp qt-everywhere-opensource-src-4.7.1.tar.gz /z/qt-x11 (拷贝到新建的目录)

tar zxvf qt-everywhere-opensource-src-4.7.1.tar.gz

解压后查看得到:(其中qte4.7.1Makelog为后来生成的,一开始解压后没有,我是安装完成后截的图= =)

此处的build-all是飞凌公司写好的脚本,是用于编译开发板上的嵌入式的qt的,而此处要编译linux的qt,因此对其进行修改,

gedit build-all

修改结果如下:主要是去掉环境变量的配置和qt的配置

注意此处将qt安装在了新建文件夹/opt/qt-x11-4.7.1中,这个目录要记住,因为后面配置qtcreator的时候要到这里找qmake

然后保存关闭,执行 ./build-all

等待。。。我感觉我等了一个下午,幸亏没有提醒出错,要不然我就哭了,编译成功

第二步:安装配置qtcreator

下载链接:http://download.qt-project.org/ 我都被自己的贴心感动得哭了T T

这里根据系统版本神马的,我就参考了别人的文章下载了一个版本,姐实在被这些版本弄的想哭了,参考链接 http://xiaolong5750.blog.163.com/blog/static/44856246201421405034948/

版本是qt-creator-linux-x86-opensource-2.6.1.bin

1、将下载文件拷贝到/z 目录下,在终端下,输入命令

sudo ./qt-creator-linux-x86-opensource-2.6.1.bin

就会出现一个桌面安装窗口,跟windows一样安装就很简单了

对了,有个插曲,我在安装过程中终端跳出了一个warning:designer:attempt to add child to。。。我网上搜了下竟然没搜到这个问题,就直接忽略掉了。。不知道以后会不会有影响。。。

2、接着配置

在主界面中从菜单栏点击"工具"->"选项"->在左侧点击“构建和运行”界面如下图所示。

点击qt版本,有些没有自动检测到qmake路径,这是因为没设置环境变量,手动添加,将刚安装的qmake加入:

接着点击编译器:已自动检测到

最后点击 构建套件,点击右端添加,

至此配置好用于linux上编译的qmake,就可以在linux上跑程序了。

3、新建个小程序试下,新建过程参考http://xiaolong5750.blog.163.com/blog/static/44856246201421405034948/

插曲:我新建的时候,到最后跳出对话框说 “无法创建目录。。。。” 网上查了有人说在安装qtcreator的时候没有用root权限安装神马的,害我重装一遍但也没解决问题,幸亏最近在看《鸟哥的私房菜》,里面说了些文件的权限问题之类的,于是我把自己创建的工程所在的目录的权限都改成chmod 777,然后就没问题了哈哈

建立工程后,build,run 结果如下:

linux

阅读全文

与linux内核和qt编译器相关的资料

热点内容
python私有库 浏览:512
Python有中文吗 浏览:736
麦块的服务器为什么都进不去 浏览:474
新买的服务器如何打开 浏览:35
安卓软件游戏怎么开发 浏览:319
用扑克摆爱心解压神器怎么摆 浏览:70
松下制冷压缩机 浏览:275
pdf里怎么修改文字 浏览:686
已保存文档加密如何设置 浏览:413
怎样判断加密货币是牛是熊 浏览:948
初二多项式乘法速算法 浏览:455
android多个布局文件 浏览:629
奔跑程序员 浏览:468
服务器如何搭建类似github 浏览:292
明日之后安卓太卡怎么办 浏览:503
如何使用命令方块找到村庄 浏览:767
泛函压缩映像原理 浏览:522
win10清除文件夹浏览记录 浏览:966
如何查看服务器域中所有服务 浏览:384
学mastercam91编程要多久 浏览:1000