Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-40662

command line length exceeded when linking unix target with many objects under windows

    XMLWordPrintable

Details

    Description

      While porting a large Qt project to Android, I ran into the command line length limit while linking in windows. After trying all the quick and dirty tricks to shorten the command line, I found that the Android build uses the "Unix" makefile generator rather than the "Mingw" one. The Mingw generator know that windows has this problem and uses QMAKE_LINK_OBJECT_MAX to determine when it should use a link object script. The Unix generator appends every object to the command regardless of size.

      If the unix makefile generator allowed generation of a linker object script, this would resolve this frustrating problem in an elegant way.

      An alternative would be to have qmake use the MINGW generator for the windows android-g++ spec. This almost works, but runs into the problem that qmake always appends ".exe" to the android shared library name, breaking the installation and deployment steps.

      Attachments

        Issue Links

          Activity

            People

              louai Louai Al-Khanji
              boards Craig Boardman
              Votes:
              1 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: