I know, that HLA is not the best. Pure MASM would be better.
(so don?t kill me for that)
but:
I have a DLL compiled by Borland C Builder 6. When I try to compile the hla main file (which tries to contact the DLL) with:
hla test.hla mydll.lib
I get the result: invalid or corrupt file
This is my .lib file...
Does anybody have a solution for this ?
Does HLA works only with HLA(MASM) compiled DLLs ?
thx for any hint
(so don?t kill me for that)
but:
I have a DLL compiled by Borland C Builder 6. When I try to compile the hla main file (which tries to contact the DLL) with:
hla test.hla mydll.lib
I get the result: invalid or corrupt file
This is my .lib file...
Does anybody have a solution for this ?
Does HLA works only with HLA(MASM) compiled DLLs ?
thx for any hint
What object file format does hla assembler produce? I know Borland uses OMF and Microsoft uses COFF. Borland frequently includes coff2omf tool with its products, so people could use Microsoft produced libraries with Borland linker. No idea about HLA.
Try posting on alt.lang.asm.x86. Randall Hyde, the author of HLA posts a lot there.
thx for your help.
Inprise has COFF2OMF, but not OMF2COFF.
As we can read in the Borland Help:
"Coff2Omf enables C++Builder users to link to Microsoft and other third-party DLLs that use the COFF format. Coff2Omf does not convert .OBJ files."
So I am not able to convert the Borland OMF to a masm compatible COFF DLL (.lib).
So there is maybe the only way to attach "non"-Masm DLLs to code them with M$ VC++.
Finally this is no problem of HLA, it is a problem of the .lib format.
Zero
Inprise has COFF2OMF, but not OMF2COFF.
As we can read in the Borland Help:
"Coff2Omf enables C++Builder users to link to Microsoft and other third-party DLLs that use the COFF format. Coff2Omf does not convert .OBJ files."
So I am not able to convert the Borland OMF to a masm compatible COFF DLL (.lib).
So there is maybe the only way to attach "non"-Masm DLLs to code them with M$ VC++.
Finally this is no problem of HLA, it is a problem of the .lib format.
Zero
The MS linker will convert OMF .obj files to COFF before linking. The COFF version of an OMF file is temporary.
The .lib files are not converted. You can use a .def file to produce the COFF .lib files.
The .lib files are not converted. You can use a .def file to produce the COFF .lib files.
The MS linker will convert OMF .obj files to COFF before linking.
It will? That never ever seemed to work for me :). Oh well, must have
been when I used old linker versions.
Zero, make your own (ar-mscoff) import library for the DLL - shouldn't
be too hard to get going.
You can use the Borland DLL Wizard to make a M$ VC++ DLL.
This does not works too.
It seems that Borland produces a lib file, which has some slight differences from the M$ file.
This does not works too.
It seems that Borland produces a lib file, which has some slight differences from the M$ file.