OMFとCOFF
「GCCでDXライブラリを使用してみる」http://d.hatena.ne.jp/wtetsu/20080111の追加メモ(というか書こうとして忘れていた)
静的リンク用のライブラリのファイル形式は、主にOMFとCOFFがある。VC++やGCCやではCOFF、BCCではOMFを扱えるらしい。
GCCでCOFFを扱えるなら、VC++用のDXライブラリを使えばGCCからも静的リンクライブラリとして使えるんじゃない?かと思ったんですが事はそう簡単ではないらしくうまくいかなかった。
dumpbin /symbolsでlibの中を見るとやっぱり関数にVC++な装飾名(@付き)がついていたので、そのせいだろうか。自分でVC++で作成したlibはGCCでリンクできて普通に使えたので、やはり常にダメという訳でもないっぽい。C++ではなくCとしてコンパイルして装飾名がつかないようにしたので、そのおかげなのかな。