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

    • Type: Suggestion
    • Status: Open
    • Priority: P3: Somewhat important
    • Resolution: Unresolved
    • Affects Version/s: 5.3.0
    • Fix Version/s: None
    • Component/s: Build tools: qmake
    • Environment:

      Windows 7, x8_64, QtCreator 3.1.2, Qt 5.3.1

      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

          For Gerrit Dashboard: QTBUG-40662
          # Subject Branch Project Status CR V

            Activity

              People

              • Assignee:
                louai Louai Al-Khanji
                Reporter:
                boards Craig Boardman
              • Votes:
                1 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Gerrit Reviews

                  There are no open Gerrit changes