View mode: basic / threaded / horizontal-split · Log in · Help
June 22, 2004
Re: The input line is too long - fixed
In article <cb8vnl$1fec$2@digitaldaemon.com>, Walter says...
>1) Try using a linker response file, i.e. put the command in a file and link
>it with @filename.

That worked 100%. Thanks a bunch.

I am /so/ glad I have a custom build script. I was able to change its behavior
in a very short space of time, to make it do exactly that. If I'd have been
using make instead, I would have been stuck for days trying to get the makefile
to get make to do that.

Cheers.
Jill
June 22, 2004
Re: The input line is too long - critical
"Lars Ivar Igesund" <larsivar@igesund.net> wrote in message
news:cb990p$1t8b$1@digitaldaemon.com...
> Actually you need to use lib.exe to make a static library (link.exe
> won't do that for you). Maybe lib.exe is able to make use of larger
> command lines (haven't tried, though).

The command line length limit for lib is what the Win32 command prompt shell
limit is (which varies depending on the version of Windows). But, each time
one runs lib one can add to the library, so any long command can be broken
up into multiple invocations of lib. Lib can also take a response file that
has no arbitrary limit.
June 22, 2004
Re: The input line is too long - critical
On Tue, 22 Jun 2004 06:55:54 +0000 (UTC), Arcane Jill 
<Arcane_member@pathlink.com> wrote:
> I just got this error from the DMD linker: "The input line is too long".
>
> True, my command line is pretty long - currently it stands at 8482 
> characters -
> and is likely to get MUCH longer, as my current (Unicode) project 
> progresses.
>
> This is a showstopper. What do I do? And is there any chance that the 
> hard-coded
> limit on the length of DMD's linker's command line could be lifted? Or 
> at least,
> increased to something practically unreachable like a megabyte?

My link command looks like this..

d:\D\dmd\bin\dmd.exe -g "$(IntDir)\*.obj" -of"$(OutDir)\$(WkspName).exe"

Where $(IntDir) is replaced by the 'intermediate directory' which is where 
all my obj files get put when I build them. where $(OutDir) and 
$(WkspName) are replaced with the path and filename of the output 
executable.

The downside to this method being if there are any obj files in the IntDir 
that I do not need they get linked anyway. But...

As this is an VC++ utility project IntDir is actually 
d:\d\src\<project>\Debug regardless of where I pull the source files from 
i.e. d:\d\etc\crypto\hash\ d:\d\src\build\ etc

So there aren't typically any excess obj files.

Which of course means that I also have several copies of tiger.obj, one 
for each project that includes it, not optimal, but not a huge waste.

Regan.

-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
June 22, 2004
Re: The input line is too long - fixed
Arcane Jill wrote:
> I am /so/ glad I have a custom build script. I was able to change its behavior
> in a very short space of time, to make it do exactly that. If I'd have been
> using make instead, I would have been stuck for days trying to get the makefile
> to get make to do that.

It's trivial in SCons as well.

--Steve
Next ›   Last »
1 2
Top | Discussion index | About this forum | D home