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

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



    • 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


      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.


          Issue Links

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



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


                • Created:

                  Gerrit Reviews

                  There are no open Gerrit changes