Johan Holmberg
2004-04-08 15:50:03 UTC
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
message:
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
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
message:
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