www.digitalmars.com         C & C++   DMDScript  

c++.idde - Problem with lib.exe

reply "Heinz-Peter Nüttgens" <hnuettgens t-online.de> writes:
I recently discovered a strange behaviour of the librarian.

Since a few days I use Windows XP and I tried to rebuild one of my
libraries.

I got the error message:

lib e:\libobj\$SCW$.LIB /C  C:\DOKUME~1\HEINZ-~1\LOKALE~1\Temp\70A30000.TMP
Error: e:\libobj\$SCW$.LIB(2147344384): Can't open 'C:\DOKUME~1\HEINZ' for
responses.   : No such file or directory
Errors: 1  Warnings: 0
Build failed

I solved this problem by changing the TEMP path from:
 %USERPROFILE%\Lokale Einstellungen\Temp
to:
%SystemRoot%\TEMP
and it worked again.

Therefore I assume that lib.exe cannot handle such long paths or has
problems with special chars like "HEINZ-~1"
in that path.

Is there a new version of lib.exe which can handle this or is there another
way to avoid this problem
without manually changing the environment?

Heinz-Peter
Mar 26 2003
parent reply "Walter" <walter digitalmars.com> writes:
The - is a command separator for the old style command syntax for LIB. You
can try the new LIB command syntax, see www.digitalmars.com/ctg/lib.html

"Heinz-Peter Nüttgens" <hnuettgens t-online.de> wrote in message
news:b5rq40$7d1$1 digitaldaemon.com...
 I recently discovered a strange behaviour of the librarian.

 Since a few days I use Windows XP and I tried to rebuild one of my
 libraries.

 I got the error message:

 lib e:\libobj\$SCW$.LIB /C
C:\DOKUME~1\HEINZ-~1\LOKALE~1\Temp\70A30000.TMP
 Error: e:\libobj\$SCW$.LIB(2147344384): Can't open 'C:\DOKUME~1\HEINZ' for
 responses.   : No such file or directory
 Errors: 1  Warnings: 0
 Build failed

 I solved this problem by changing the TEMP path from:
  %USERPROFILE%\Lokale Einstellungen\Temp
 to:
 %SystemRoot%\TEMP
 and it worked again.

 Therefore I assume that lib.exe cannot handle such long paths or has
 problems with special chars like "HEINZ-~1"
 in that path.

 Is there a new version of lib.exe which can handle this or is there
another
 way to avoid this problem
 without manually changing the environment?

 Heinz-Peter
Mar 26 2003
next sibling parent reply "Heinz-Peter Nüttgens" <hnuettgens t-online.de> writes:
Thanks for your reply.

The '-' sign is part of my name and my windows user name.
Ok, it would be easy to choose another username.

Because I'm workíng with the IDDE, it's not on me to select the syntax. But
nevertheless
this won't help anyway, because the '-' is part of the temporary path.

But shouldn't the command line of lib.exe be parsed in a way differentiating
between
embedded '-'s  and such ones following white spaces?

Greetings

Heinz-Peter


"Walter" <walter digitalmars.com> schrieb im Newsbeitrag
news:b5t9b1$1a01$1 digitaldaemon.com...
 The - is a command separator for the old style command syntax for LIB. You
 can try the new LIB command syntax, see www.digitalmars.com/ctg/lib.html
Mar 27 2003
parent "Walter" <walter digitalmars.com> writes:
No, there's no way of fixing the meaning of '-' for lib. The trouble is that
Microsoft came up with that syntax long ago (long before '-' was allowed in
file names), and there are a LOT of makefiles depending on it.

The IDDE should switch to the new lib syntax, I'll file that bug report.

"Heinz-Peter Nüttgens" <hnuettgens t-online.de> wrote in message
news:b5uct7$v6o$1 digitaldaemon.com...
 Thanks for your reply.

 The '-' sign is part of my name and my windows user name.
 Ok, it would be easy to choose another username.

 Because I'm workíng with the IDDE, it's not on me to select the syntax.
But
 nevertheless
 this won't help anyway, because the '-' is part of the temporary path.

 But shouldn't the command line of lib.exe be parsed in a way
differentiating
 between
 embedded '-'s  and such ones following white spaces?

 Greetings

 Heinz-Peter


 "Walter" <walter digitalmars.com> schrieb im Newsbeitrag
 news:b5t9b1$1a01$1 digitaldaemon.com...
 The - is a command separator for the old style command syntax for LIB.
You
 can try the new LIB command syntax, see www.digitalmars.com/ctg/lib.html
Mar 27 2003
prev sibling parent reply "Rajiv Bhagwat" <dataflow vsnl.com> writes:
Had noticed the changed set of syntax for lib some time ago, but had to
switch to 'older' syntax.

The newer syntax gives problems in the most common situation for me: Just
replacing (or adding) a single module in a library, which may exist or which
needs to be created.

The older syntax automatically creates the lib if it does not exist. Using
the newer one, you have to specify -c, which deletes the existing library
(containing other objs) and creates a new one with just 1 obj in it.

- Rajiv
Ps: Need makefile for complete statement of the problem or is this
sufficient description?


"Walter" <walter digitalmars.com> wrote in message
news:b5t9b1$1a01$1 digitaldaemon.com...
 The - is a command separator for the old style command syntax for LIB. You
 can try the new LIB command syntax, see www.digitalmars.com/ctg/lib.html

 "Heinz-Peter Nüttgens" <hnuettgens t-online.de> wrote in message
 news:b5rq40$7d1$1 digitaldaemon.com...
 I recently discovered a strange behaviour of the librarian.

 Since a few days I use Windows XP and I tried to rebuild one of my
 libraries.

 I got the error message:

 lib e:\libobj\$SCW$.LIB /C
C:\DOKUME~1\HEINZ-~1\LOKALE~1\Temp\70A30000.TMP
 Error: e:\libobj\$SCW$.LIB(2147344384): Can't open 'C:\DOKUME~1\HEINZ'
for
 responses.   : No such file or directory
 Errors: 1  Warnings: 0
 Build failed

 I solved this problem by changing the TEMP path from:
  %USERPROFILE%\Lokale Einstellungen\Temp
 to:
 %SystemRoot%\TEMP
 and it worked again.

 Therefore I assume that lib.exe cannot handle such long paths or has
 problems with special chars like "HEINZ-~1"
 in that path.

 Is there a new version of lib.exe which can handle this or is there
another
 way to avoid this problem
 without manually changing the environment?

 Heinz-Peter
Mar 27 2003
parent "Walter" <walter digitalmars.com> writes:
I'll check it out. Thanks, -Walter
Mar 29 2003