[Scons-users] linker command under windows not working (too long)
Bill Deegan
bill at baddogconsulting.com
Sat Mar 30 21:17:23 EDT 2013
Won't TEMPFILE work for this?
A callable class. You can set an Environment variable to this,
then call it with a string argument, then it will perform temporary
file substitution on it. This is used to circumvent the long command
line limitation.
Example usage:
env["TEMPFILE"] = TempFileMunge
env["LINKCOM"] = "${TEMPFILE('$LINK $TARGET $SOURCES')}"
By default, the name of the temporary file used begins with a
prefix of '@'. This may be configred for other tool chains by
setting '$TEMPFILEPREFIX'.
env["TEMPFILEPREFIX"] = '-@' # diab compiler
env["TEMPFILEPREFIX"] = '-via' # arm tool chain
-Bill
On Sat, Mar 30, 2013 at 11:26 AM, Philipp Kraus
<philipp.kraus at flashpixx.de>wrote:
> **
>
> Hi,
>
>
> thanks for this idea but I don't use the env.Object call, I call
> env.SharedLibrary direct in the build script, so the *.o file is created by
> the dependency graph that is build by Scons.
>
> So I need to change my script for the MinGW toolset and create the object
> files first and referenced them via the file. It should be a IMHO a
> "hacking solution".
>
>
> Thanks a lot, so I can test my build script
>
>
> Phil
>
>
>
> On 2013-03-30 19:07:42 +0100, Brady Johnson said:
>
>
>
> You can use response files, (supported by both gcc and msvc) which allows
> you to list several object files, etc in a file, then refer to that file on
> the command line prepending it with the '@' symbol. Here is a
> question/answer on Stack Overflow that addresses this:
> http://stackoverflow.com/q/15242177/1158895
>
>
> Notice, though that SCons wont read what's in the response file, so
> dependency checking wont work as expected. I addressed this in my answer to
> the Stack Overflow question.
>
>
> Hope that helps,
>
>
> Brady
>
>
>
>
> On Sat, Mar 30, 2013 at 3:07 PM, Philipp Kraus <philipp.kraus at flashpixx.de
> > wrote:
>
> Hello,
>
>
> I try to build Irrlicht engine with mingw toolset under Scons. The
> compiler calls works well, but the last linker command to build the shared
> library creates the error, that the command length is reached.
>
> MS describe the probleme here http://support.microsoft.com/kb/830473/en-us
>
> The command shows:
>
>
> g++ -shared -o Irrlicht.dll <here all *.o
> files> -Wl,--out-implib,libIrrlicht.a
>
>
> I don't know how I can solve this problems. The problem exists only with
> the MinGW toolset under MSVC the problem does not exists.
>
>
> Thanks for help
>
>
> Phil
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20130330/b0bde742/attachment.htm>
More information about the Scons-users
mailing list