SORU
7 HAZİRAN 2012, PERŞEMBE


Nasıl Windows hedef için Linux, çapraz derleme için Qt yapılandırabilirim?

Windows bir Linux x86_64 x86_64 hedef ana bilgisayar kullanmak için Qt kütüphaneleri (ve sonunda benim uygulama) makine derleme geçmek istiyorum. Yaklaştım gibi hissediyorum, ama bu süreç bazı bölümlerinin önemli bir yanlış anlama var.

Fedora benim makinedeki tüm mingw paketleri yükledikten sonra win32-g qmake değiştirerek başladım.dosya benim çevreye uyum sağlamak için conf. Ancak, görünüşte belli bazı yapılandırma seçenekleri ile sıkışmış almak için Qt gibiyim: -platform -xplatform. Qt belgeleri -platform makine mimari derleme) ve -xplatform dağıtmak için istediğiniz hedef platform olmalıdır ev sahibi olması gerektiğini söylüyor. Benim durumumda, linux-win 32 g win 32 g yapılandırma benim değiştirilir -platform linux-g -64 -xplatform linux-win32-g I ayarlayın.

Benim sorunum, bu seçenekleri yapılandırmak yürüttükten sonra, çapraz derleyici (x86_64-w64-mingw32-gcc) yerine sistemimin derleyici çağırır görüyorum. Eğer ihmal -xplatform seçeneği ve set -platform benim hedef spec (linux-win 32 g ), çağırır çapraz derleyici ama sonra hatalı bulduğu bazı Unıx ilgili fonksiyonlar tanımlı değil.

Burada benim son girişimi bazı çıktısı: http://pastebin.com/QCpKSNev.

Soru:

  1. Çapraz derleme, Linux host, Windows için Qt gibi bir şey, yerel bir derleyici gerekirhiççağırılacak? Bu, çapraz bir derleme işlemi sırasında, biz kullanmamalısınsadeceçapraz derleyici? Qt yapılandırma dosyası -xplatform seçeneği belirtin sistemimin yerli derleyici çağırmak için çalışır anlamıyorum.

  2. Eğer mingw çapraz derleyici kullanıyorum, ne zaman gözlük bir dosya ile uğraşmak zorunda kalacağım? GCC Spec dosyaları benim için hala bir sır gibi, eğer bazı arka plan burada bana yardımcı olacak eğer ben de merak ediyorum.

  3. Benim qmake içinde çapraz derleyici belirterek ötesinde genel olarak.conf, başka göz önüne almalıyım ne olabilir?

CEVAP
3 Kasım 2012, CUMARTESİ


Sadece kullanın. M cross environment (MXE). Tüm sürecin ağrı dışarı alır:

  • Alın:

    $ git clone https://github.com/mxe/mxe.git
    
  • build dependencies yükleyin

  • Windows için Qt, bağımlılıkları oluşturmak ve çapraz yapı araçları; bu iyi ınternet erişimi ile hızlı bir makinede yaklaşık bir saat sürer; indir hakkında 500

    $ cd mxe && make qt
    
  • Uygulamanızın dizinine gidin ve çapraz-yapı araçları ekleyinYOLortam değişkeni:

    $ export PATH=<mxe root>/usr/bin:$PATH
    
  • Qt Makefile jeneratör aracı daha sonra çalıştırın:

    $ <mxe root>/usr/i686-pc-mingw32/qt/bin/qmake && make
    
  • Bu ikili ./bulmalısın yayın dizini:

    $ wine release/foo.exe
    

Bazı notlar:

  • Bu MXE ana şube depo kullanın; çok geliştirme ekibinden daha fazla sevgi almak için görünür.

  • Çıkış 64-bit Windows üzerinde çalışacak olan 32-bit statik bir ikili.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • lifeisforsharingDT

    lifeisforsha

    18 Mayıs 2011
  • Pituvision

    Pituvision

    11 Mart 2006