This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Gcc/ld and long command lines (> 32k)

Hi !

I tried to compile/link an application consisting of several hundred
C/C++ files. This gives quite a long command line when it is time
to link the application.

Windows seem to have a limit of 32k for the length of the command
line as given to to the system call 'CreateProcess'. I guess this is
a "hard" limit in Windows.

The length of my linker command line exceeds this 32k limit.

Is it possible to pass a list of filenames to ld
in some other way, to get around this limit ?

I know about the special "@filename" syntax in Cygwin, but there
seem to be two problems:

- it is no idea to give the special @filename argument to "gcc.exe",
  since it is calling other exe-files and will have problems itself
  to pass the file list on to these (ld, collect2, ...)

- I tried to specify "-Wl,@files.txt" to "gcc.exe", hoping that
  "@files.txt" would be picked up by "ld.exe", but I got the error
       ld: @files.txt: No such file: No such file or directory

  Is ld.exe not interpreting the special "@" like other
  Cygwin programs ?

Am I missing some obvious way of doing what I want ?

/Johan Holmberg

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]