Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Bulgarian
  4. Компилиране на Qt проект като 64-битово приложение на 32-битов Win XP
Forum Updated to NodeBB v4.3 + New Features

Компилиране на Qt проект като 64-битово приложение на 32-битов Win XP

Scheduled Pinned Locked Moved Bulgarian
13 Posts 4 Posters 8.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    Bolg
    wrote on last edited by
    #1

    Здравейте,

    как мога да компилирам Qt проект ( просто конзолно приложение ) като 64-битово приложение на 32-битов Win XP ? Досега винаги съм компилирал като 32-битови приложения ( Ubuntu / Windows ). Програмата е прост J1939 BootLoader за 16-битови Freescale/Microchip процесори през PCAN USB адаптор или проектиран от мен USB адаптор (с PIC32). На 32-битов Win XP работи, но на Win 7 64-bit нещо става с времезакъсненията ( може би таймерите ) и изпускам J1939 пакети.

    В download секцията на qt-project.org намирам само 64-битовa Windows версия за VS 2013, но аз използвам MinGW и Qt Creator, версията на Qt е 4.7.0.

    Ако е много трудоемко крос компилирането на 64-битов приложение на 32-битов Windows, то по-лекия вариант е да гокомпилирам на 64-битов Windows в къщи, но не намирам 64-битов инсталация на Qt с MinGW.

    Някакви идеи ?

    Благодаря

    1 Reply Last reply
    0
    • R Offline
      R Offline
      Robbin
      wrote on last edited by
      #2

      Крос компилиране под уиндоус честно казано не съм пробвал, ако е сходно на това под линукс - по- добре си купи друг компютър на който да си направиш рабтна среда със 64 битова система. За съжаление мисля че не можеш да използваш приложения като VirtualBox, защото те могат да емулират 32 битова на 64 битова, но не и обратното (до колкото си спомням). Аз лично започнах да предпочитам варианта за различна среда при различен target, защото разделя библиотеките. Иначе на хост системата ти става хаос от библиотеки.

      Но както казах, нямам опит с уиндоус крос компилиране.

      Бих те посъветвал да актуализираш Qt. Последната версия от 4.х клона е 4.8.6, да не говорим че най- новата е 5.3.2. Знам от личен опит че смяната между Qt версиите също може да е много бавен и отегчителен процес, но по- новите версии предлагат и повече функционалност (или по- малко писане на код от твоя страна). Също така проблема с тайминга може до някаква степен да се дължи на по- ниската версия (макар че ме съмнява), както и на компилатора. Последната версия на MinGW ли ползваш?

      Не е задължително да ползваш предоставените от Дигия инсталатори. Дори напротив - ако искаш проекта ти да включва само най- необходимото, изтегли сорс кода и компилирай само това което ти трябва. Аз лично винаги се налага да компилирам, тъй като няма включена поддръжка на MySQL по подразбиране (което може и да се е променило, трябва да проверя :D )

      Успех!

      1 Reply Last reply
      0
      • B Offline
        B Offline
        Bolg
        wrote on last edited by
        #3

        Здравейте,

        инсталирах "Qt 5.3.2-x64":http://sourceforge.net/projects/qtx64/ на един лаптоп с Windows 8.1, след това инсталирах и "32-bit Qt 5.3.2":http://download.qt-project.org/official_releases/qt/5.3/5.3.2/qt-opensource-windows-x86-mingw482_opengl-5.3.2.exe . В настройките на Qt Creator трябваше да добавя ръчно Qt 5.3.2-x64, нещо не го намери сам. Сега мога да компилирам проекта в 32 или 64-битов вариант.

        По принцип съм с 4.7.0, защото на работата машината ми е много стара и Qt 5.xx е много бавно, особено ако дебъгваш, докато се зареди GDB брада хващам. Пък и не използвам нищо съществено от Qt5.

        Благодаря

        1 Reply Last reply
        0
        • R Offline
          R Offline
          Robbin
          wrote on last edited by
          #4

          Здрасти.

          Аз лично намерих фундаментални разлики дори между 4.7 и 4.8, не мога да се сетя какво точно, но много ме беше изнервило. Ако не се лъжа, с 4.7 ползвах QHttp, който в 4.8 беше направен private и трябваше да сменям на QNetworkAccessManager. Въпреки това, QNAM е мислен като по- нов вариант за управление на мрежови връзки, така че е хубаво човек да е запознат с него. Това и имах предвид като казах че е по- добре да актуализираш с по- нова версия - новите неща не винаги са лоши (и това го казвам с пълното съзнание че KDE средата под линукс все още е на 4.8 и ще имат бая зор с прехвърлянето към 5.х според мен). Рано или късно предполагам ще искате да направите прехода към по- нова версия.

          За бавното зареждане... не мога да кажа, може би трябва да опиташ все пак да компилираш от сорса само това което ти е необходимо. Ето официалния начин "тук":http://qt-project.org/doc/qt-5/windows-building.html
          Ще е необходимо да изтеглиш някой неща предварително като mingw и ActivePerl.

          Така и не каза дали с 5.3 проблема е решен или все още се губят пакети ;-)

          1 Reply Last reply
          0
          • T Offline
            T Offline
            task_struct
            wrote on last edited by
            #5

            @Eus, KDE от лятото е вече на Qt5 и върви страшно добре. Портването от 4 на 5 става доста лесно и бързо. Аз моята дипломна я портнах за 20-30 мин(10тина класа и доста QML).
            QHttp и QFTP вече ги няма, но с QNAM нещата стават доста лесно и бързо.

            @Bolg, в началото, когато излезе 5.0, знам, че имаха някакви с 64битова версия с MinGW и бяха казали, че ще го оправят. Явно още не са...

            "Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program."

            • Linu...
            1 Reply Last reply
            0
            • B Offline
              B Offline
              Bolg
              wrote on last edited by
              #6

              Здравейте,

              не съм тествал 64-битовата версия, защото колегата който се оплакваше от 32-битовата версия пусната на 64-битов Windows каза, че всъщност имал лоши връзки по кабелите на CAN шината и след като ги оправил сега работела коректно.

              От Qt4 към Qt5 нямах проблем при компилирането, то всъщност използвам все пак няколко Qt класа. Зачетох се за интеграцията на Qt с Visual Studio, не ми стана много ясно дали може Qt да се компилира с Visual Studio Express, или не. Ще трябва да се чете още.

              1 Reply Last reply
              0
              • R Offline
                R Offline
                Robbin
                wrote on last edited by
                #7

                @task_struct, от сорс ли билдваш? Понеже аз ползвам федора, инсталирана е преди има няма 2-3 месеца и пакетите на Qt които идват по подразбиране са 4.8.6, аз допълнително си инсталирах 5.х... а във Федора обикновено използват всичко най- ново. Може и да са ме подвели тоя път ;-)

                Знам за QHttp и QFtp, именно това споменах в предишния си пост ;-)

                QNAM ме издразни в началото, защото някой концепции ми се сториха различни от това което бях чел до него момент, но съм съгласен че с него нещата могат да бъдат доста лесни и бързи.
                А тоя QML, да му се не види, трябва да го поразровя и аз най- накрая....

                1 Reply Last reply
                0
                • R Offline
                  R Offline
                  Robbin
                  wrote on last edited by
                  #8

                  @task_struct, от сорс ли билдваш? Понеже аз ползвам федора, инсталирана е преди има няма 2-3 месеца и пакетите на Qt които идват по подразбиране са 4.8.6, аз допълнително си инсталирах 5.х... а във Федора обикновено използват всичко най- ново. Може и да са ме подвели тоя път ;-)

                  Знам за QHttp и QFtp, именно това споменах в предишния си пост ;-)

                  QNAM ме издразни в началото, защото някой концепции ми се сториха различни от това което бях чел до него момент, но съм съгласен че с него нещата могат да бъдат доста лесни и бързи.
                  А тоя QML, да му се не види, трябва да го поразровя и аз най- накрая....

                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    task_struct
                    wrote on last edited by
                    #9

                    Не. Аз съм вече с KDE 5 и заради него имам и последното Qt.

                    И при мен беше същото с QNAM. Първо беше "WTF??", ама после свикнах :)

                    "Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program."

                    • Linu...
                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      task_struct
                      wrote on last edited by
                      #10

                      Не. Аз съм вече с KDE 5 и заради него имам и последното Qt.

                      И при мен беше същото с QNAM. Първо беше "WTF??", ама после свикнах :)

                      "Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program."

                      • Linu...
                      1 Reply Last reply
                      0
                      • R Offline
                        R Offline
                        Robbin
                        wrote on last edited by
                        #11

                        Release notes

                        Fedora 21 includes KDE Frameworks 5, successor to KDE Platform 4. KDE Frameworks 5 are based on Qt 5 and give developers of C++ and Qt applications access large variety of technologies and tools developed by the KDE Community, without having to depend on the entire KDE platform.

                        Това са релийз ноутс от федора 21 която излезе преди няколко дена. Има информация че може да се изтегли и като се добави еди кое си репозитори, ама не ми се занимава с 3rd party, явно ще трябва да преинсталирам :D

                        Ти беше казвал какво ползваш, ама не си спомням.... изненадва ме че веднъж някой е преди федора :D

                        1 Reply Last reply
                        0
                        • R Offline
                          R Offline
                          Robbin
                          wrote on last edited by
                          #12

                          Release notes

                          Fedora 21 includes KDE Frameworks 5, successor to KDE Platform 4. KDE Frameworks 5 are based on Qt 5 and give developers of C++ and Qt applications access large variety of technologies and tools developed by the KDE Community, without having to depend on the entire KDE platform.

                          Това са релийз ноутс от федора 21 която излезе преди няколко дена. Има информация че може да се изтегли и като се добави еди кое си репозитори, ама не ми се занимава с 3rd party, явно ще трябва да преинсталирам :D

                          Ти беше казвал какво ползваш, ама не си спомням.... изненадва ме че веднъж някой е преди федора :D

                          1 Reply Last reply
                          0
                          • R Offline
                            R Offline
                            Red Baron
                            wrote on last edited by
                            #13

                            QEMU поддържа различни архитектури (intel 32/64, arm32/64 и т.н.) и динамично превежда инструкциите от една архитектура в друга. QEMU е емулатор за разлика от виртуализатори като VirtualBox, VMWare Player/Workstation и т.н. VirtualBox и компания не могат да пресъздадат архитектура, която не е в наличност (преминаването от 64 към 32 бита не го считам за проблемно за това не го споменавам). Иначе native няма как да стане работата.

                            Crosscompiling за Qt бих препоръчал само на най-големите си врагове. Има (калпава) документация само за Symbian (кой ползва това нещо още?!) и QNX, но в момента, в който навлезнеш във водите на generic Linux устройствата, се оправяй сам. В момента се тормозя да компилирам Qt-то на моя 64 битов Debian за да мога по-бързо и лесно да разработвам за за 32 битовия ARM на Raspberry Pi 2. Няма такава малоумна история...Дори някои от конфигурационните файлове на тия "умници" са счупени. Човек трябва да се рови с дни, за да намери и късче полезна информация, а какво остава за напълно функционален туториъл, който да обяснява всичко.

                            ПП: QML като замисъл е добър, но като реализация - гола вода. Прекалено много промени за кратко време да не говорим за съвместимост между версия А и Б...

                            1 Reply Last reply
                            0

                            • Login

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Groups
                            • Search
                            • Get Qt Extensions
                            • Unsolved