FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Corrupt user32_dfl.lib when using makelib.bat?

 
Post new topic   Reply to topic     Forum Index -> DFL
View previous topic :: View next topic  
Author Message
Lynn



Joined: 27 Aug 2004
Posts: 89

PostPosted: Thu Jun 02, 2005 8:43 am    Post subject: Corrupt user32_dfl.lib when using makelib.bat? Reply with quote

I tried to use makelib.bat and got the message:

Corrupt file 'user32_dfl.lib', Typ=xf1, Len=x1d00

In any case, I'm unclear what user32_dfl.lib and shell32_dfl.lib do.

This was related to an attempt to build a debuggable dfl.lib to learn more about it, but that is a different issue.

Also, perhaps makelib.bat could require that environment variables DMD_PATH and DMC_PATH be set appropriately. Then it wouldn't be a concern for each fresh installation of dfl to overwrite makelib.bat. It could have lines such as:

if "$DMD_PATH"=="" goto DflUsage
if "$DMC_PATH"=="" goto DflUsage

rem actual makelib code
goto DflEnd

:DflUsage
echo Environment variables DMD_PATH and DMC_PATH must be set
goto DflEnd

:DflEnd
Back to top
View user's profile Send private message
Chris Miller



Joined: 27 Mar 2004
Posts: 514
Location: The Internet

PostPosted: Thu Jun 02, 2005 11:31 am    Post subject: Re: Corrupt user32_dfl.lib when using makelib.bat? Reply with quote

Lynn wrote:
I tried to use makelib.bat and got the message:

Corrupt file 'user32_dfl.lib', Typ=xf1, Len=x1d00

Did you install DMC's basic utilities which includes implib? It's required to generate those lib files from the provided def files. But the new DFL versions include those lib files in the lib directory so you could just use those: drop them in the directory with makelib.bat and edit makelib.bat to not create them.

Quote:
In any case, I'm unclear what user32_dfl.lib and shell32_dfl.lib do

They include functions that aren't in the old user32.lib and shell32.lib that come with DMC. They shouldn't be needed unless you plan on statically linking with those functions (default DFL dynamically links with them to support older Windows versions).

Quote:
Also, perhaps makelib.bat could require that environment variables DMD_PATH and DMC_PATH be set appropriately. Then it wouldn't be a concern for each fresh installation of dfl to overwrite makelib.bat.

Not a bad idea.
Back to top
View user's profile Send private message
Lynn



Joined: 27 Aug 2004
Posts: 89

PostPosted: Thu Jun 02, 2005 3:04 pm    Post subject: Reply with quote

I have two versions of implib ...

One is from Digital Mars, version 7.5B4n. The output from this was considered corrupt by DigitalMar's lib version 8.00n

The other is from Borland, ver 3.0.22. The output from this was accepted by DigitalMar's lib version 8.00n.

Which one do you use? Is there something in the implib.ini causing problems?

For makelib.bat to work, it seemed neccessary to use the Borland implib.exe utility. That seems odd.

As you mention, there are prebuilt shell32_dfl.lib and user32_dfl.lib that come with dfl.zip. However, commenting out the implib.exe lines causes problems to the following lib.exe line, as shell32_dfl.lib and user32_dfl.lib aren't resolved. They need to be prefixed with ?dmd_path?\lib

Also, I suppose the output of the lib command ought to be ?dmd_path?\lib There doesn't seem to be /help "usage" from lib, so I don't know what command line options cause this to happen. I suppose it is on a DigitalMars webpage somewhere.

I'm trying to do this to see if dfl.lib can be rebuilt to allow use of CFM_SUPERSCRIPT, CFE_SUPERSCRIPT, CFM_SUBSCRIPT, and CFE_SUBSCRIPT.

Also, even with the changes, I am unable to do step-into debugging from the Visual Studio IDE.

I ended up being able to work on this by putting together a VS98 project that included charformat.d, winapi.d, drawing.d, and richtextbox.d

HTH ...
Back to top
View user's profile Send private message
Chris Miller



Joined: 27 Mar 2004
Posts: 514
Location: The Internet

PostPosted: Thu Jun 02, 2005 3:55 pm    Post subject: Reply with quote

Lynn wrote:
I have two versions of implib ...

One is from Digital Mars, version 7.5B4n. The output from this was considered corrupt by DigitalMar's lib version 8.00n

The other is from Borland, ver 3.0.22. The output from this was accepted by DigitalMar's lib version 8.00n.

Which one do you use?

Digital Mars' from http://www.digitalmars.com/download/freecompiler.html

Quote:
I'm trying to do this to see if dfl.lib can be rebuilt to allow use of CFM_SUPERSCRIPT, CFE_SUPERSCRIPT, CFM_SUBSCRIPT, and CFE_SUBSCRIPT.

Also, even with the changes, I am unable to do step-into debugging from the Visual Studio IDE.

I ended up being able to work on this by putting together a VS98 project that included charformat.d, winapi.d, drawing.d, and richtextbox.d

Sorry this is so hard for you. I'll try to make it better.
Back to top
View user's profile Send private message
Lynn



Joined: 27 Aug 2004
Posts: 89

PostPosted: Thu Jun 02, 2005 5:13 pm    Post subject: Reply with quote

Quote:

Digital Mars' from http://www.digitalmars.com/download/freecompiler.html


Hmm, I was using the DigitalMars 7.5B4n implib instead of the 7.6B1n implib. Makelib.bat is MUCH happier with this change. Thanks for your patience.

Might be worth considering ... having the 62kb implib.exe be part of your dfl.zip. Odd ... the 7.6 version had an older timestamp than the 7.5 version.

If it would help, I can put together and make available VS98 and/or VC2003 project files that facilitate step-into debugging of dfl.[/b]

Here is a verison for VS98 (vc6) with project files. If it would be helpful, I was suggest considering having it in the examples subdirectory. The vs2003 project files can be built automatically by vs2003 doing a project conversion to a solution.

(It probably ought to have two projects in it ... one for the app and one for the library, but thought I'd make it available:)

http://inverse.sf.net/Misc/helloworld_vc6_project_with_debuggable_dfl-lib.zip

HTH
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> DFL All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group