Anyone have sucess converting MSVC 2010 COFF libs to OMF

Byron byron.heads at gmail.com
Tue Apr 8 10:23:14 PDT 2014


I have several libs compiled in vs2010 that I need to convert to omf.

With the same setup I have this linked in win64, just want to get win32.

I have tried coff2omf but it fails with:
> coff2omf leveldb.lib
COFF2OMF: Converting 'd:\projects\leveldb\bin\release\tmp\leveldb.lib'
COFF2OMF: Ignoring unknown directive 'vc100-mt-1_56.lib" /DEFAULTLIB' in 
'd:\projects\leveldb\bin\release\tmp\leveldb.lib[.drectve]'
COFF2OMF: Ignoring unknown directive 'vc100-mt-1_56.lib" /DEFAULTLIB' in 
'd:\projects\leveldb\bin\release\tmp\leveldb.lib[.drectve]'
COFF2OMF: Ignoring unknown directive 'vc100-mt-1_56.lib" /DEFAULTLIB' in 
'd:\projects\leveldb\bin\release\tmp\leveldb.lib[.drectve]'
COFF2OMF: Ignoring unknown directive 'vc100-mt-1_56.lib" /DEFAULTLIB' in 
'd:\projects\leveldb\bin\release\tmp\leveldb.lib[.drectve]'
COFF2OMF: Ignoring unknown directive 'vc100-mt-1_56.lib" /DEFAULTLIB' in 
'd:\projects\leveldb\bin\release\tmp\leveldb.lib[.drectve]'

This lib does require some boost libs I have compiled, these libs do end 
with vc100-mt-1_56.lib.  The look like libboost_chrono-vc100-mt-1_.56.lib
So maybe the dash messing up coff2omf.

the digitalmars site says you need to convert the coff format via link /
lib /convert [lib].  Is this only for really old version of vs?
> link /lib /convert leveldb.lib
Microsoft (R) Library Manager Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

LINK : warning LNK4044: unrecognized option '/convert'; ignored


I have also tried objconv:
> objconv -fomf leveldb.lib leveldb_omf.lib

Warning 1060: Different alignments specified for same segment, .rdata. 
Using highest alignment
...
Warning 1060: Different alignments specified for same segment, .data. 
Using highest alignment
Warning 1060: Different alignments specified for same segment, .rdata. 
Using highest alignment
...
Warning 1060: Different alignments specified for same segment, .data. 
Using highest alignment
Warning 1060: Different alignments specified for same segment, .rdata. 
Using highest alignment
....
Warning 1060
Input library: leveldb.lib, Format: COFF32, Output: leveldb_omf.lib, 
Format: OMF32
: Different alignments specified for same segment, .rdata. Using highest 
alignment
Warning 1060: Different alignments specified for same segment, .rdata. 
Using highest alignment
Warning 1060: Different alignments specified for same segment, .rdata. 
Using highest alignment
Warning 1060: Different alignments specified for same segment, .rdata. 
Using highest alignment
Warning 1060: Different alignments specified for same segment, .rdata. 
Using highest alignment
Warning 1060: Different alignments specified for same segment, .rdata. 
Using highest alignment
Warning 1060: Different alignments specified for same segment, .rdata. 
Using highest alignment
Supressing further warning messages
Error 2304: Word-size index exceeds 65535
Error 2304: Word-size index exceeds 65535
....
Supressing further warning messages

objconv seems to work on the boost lib files but not leveldb.lib

I tired messing tring to get dmc to compile boost, but there are tons of 
errors, to many to make me want to not go that path.


So does anyone have a fool prof way of converting coff to omf libs.  I 
feel like this use to be easy..

Thanks,
-Byron


More information about the Digitalmars-d-learn mailing list