Linux下編譯靜態MinGW環境,編譯windows平台Qt程式(使用MXE)

來源:互聯網
上載者:User

標籤:loading   libtool   nal   目錄   32位   如何使用   openssl   工具鏈   bash   

  • 參考連結:
  • MXE.
    >
    大多數程式都是在windows平台下開發的程式.windows 在現實中也是繞不過的一個系統平台,做為受過幾年VC,MFC”虐待”的程式員,在做為一個程式員之前是一位Linux重度使用者,受夠了MFC之後一直想要找一個架構替換,
    使用過GTK,wxWidgets,Qt,最後還是Qt用得多一些.我認為程式跨平台應該是一個基本標準,同一份代碼不需改動,或者改動極少,放在不同的平台下編譯就能使用.不同平台,同樣的介面,同樣的操作,同樣的體驗.
    這裡要講的是我如何在Linux 下開發跨平台的Qt程式,如何在linux開發windows程式.
    >
MXE (M cross environment)
  • MXE 真的是一個了不起的項目,詳情請查看上面連結,非常詳細.因為MXE就是在Linux下靜態編譯的跨平台環境,不需要你一步一步繁雜的編譯工具鏈,直接按教程一鍵make就下載安裝好,但是對Linux的操作熟悉會更加好排錯.
安裝教程
  • 盡量查看英文教程,這裡簡單記錄一在debian8 x86_64下的安裝過程.遇到問題找google.
1234567  apt-get install \ autoconf automake autopoint bash bison bzip2 flex gettext\ git g++ gperf intltool libffi-dev libgdk-pixbuf2.0-dev \ libtool libltdl-dev libssl-dev libxml-parser-perl make \ openssl p7zip-full patch perl pkg-config python ruby scons \ sed unzip wget xz-utils g++-multilib libc6-dev-i386 libtool-bin
擷取最新版本
123 $ cd /opt$ git clone https://github.com/mxe/mxe.git$ make MXE_TARGETS=‘x86_64-w64-mingw32.static i686-w64-mingw32.static‘ qt5
  • 如果中間不出錯,安裝完成如下. i686-w64-mingw32.static目錄下就在如:我電腦系統64位下編譯32位的exe, 而x86_64-w64-mingw32.static就是編譯產生64位的exe.
12 $ls /opt/mxe/usr/bin i686-w64-mingw32.static include installed lib libexec share x86_64-unknown-linux-gnu x86_64-w64-mingw32.static
設定Qt
  • 英文教程有詳細教程如何使用,如:(autotools,CMake,Makefile,QT…),這裡貼圖記錄一下在QtCreator 下的設定.

  • 設定編譯器

    設定編譯器
  • 設定Qt版本

    設定Qt版本
  • 添加Qt Kit

    設定Qt版本
  • 現在就可以在Qt Creator裡的工程下添加這個Kit裡了,因為這裡只是靜態編了Release版本,如果指定為Debug配置,編譯會出錯的.

### 一些Qt 工程問題

Linux GL 連結庫錯誤.

  • 如果在Linux遇到連結系統下的GL庫出錯,只要在.pro 加入QMAKE_LIBS_OPENGL -= -lGL,重新qmake,編譯.

Release版本加入偵錯符號

  • 在實際開發有遇到這種問題,在Linux的編譯Debug,Release調試與運行都沒有錯誤,但是在windows平台下運就崩潰出錯,這時調試最有效調試手段是是加入偵錯符號資訊,在windows下運行GDB載入該程式,查看出錯的原因.pro \
  • 在.pro中在加如下三行,重新qmake,編譯.帶調試資訊的exe會長到幾十M.
123 QMAKE_CXXFLAGS_RELEASE += -g QMAKE_CFLAGS_RELEASE += -gQMAKE_LFLAGS_RELEASE =

https://yjdwbj.github.io/2016/09/13/Linux%E4%B8%8B%E7%BC%96%E8%AF%91%E9%9D%99%E6%80%81MinGW%E7%8E%AF%E5%A2%83-%E7%BC%96%E8%AF%91windows%E5%B9%B3%E5%8F%B0Qt%E7%A8%8B%E5%BA%8F/

Linux下編譯靜態MinGW環境,編譯windows平台Qt程式(使用MXE)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.