View previous topic :: View next topic |
Author |
Message |
Lynn
Joined: 27 Aug 2004 Posts: 89
|
Posted: Thu Jun 02, 2005 8:43 am Post subject: Corrupt user32_dfl.lib when using makelib.bat? |
|
|
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 |
|
|
Chris Miller
Joined: 27 Mar 2004 Posts: 514 Location: The Internet
|
Posted: Thu Jun 02, 2005 11:31 am Post subject: Re: Corrupt user32_dfl.lib when using makelib.bat? |
|
|
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 |
|
|
Lynn
Joined: 27 Aug 2004 Posts: 89
|
Posted: Thu Jun 02, 2005 3:04 pm Post subject: |
|
|
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 |
|
|
Chris Miller
Joined: 27 Mar 2004 Posts: 514 Location: The Internet
|
Posted: Thu Jun 02, 2005 3:55 pm Post subject: |
|
|
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 |
|
|
Lynn
Joined: 27 Aug 2004 Posts: 89
|
Posted: Thu Jun 02, 2005 5:13 pm Post subject: |
|
|
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 |
|
|
|
|
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
|