アプリ版:「スタンプのみでお礼する」機能のリリースについて

C++Builderの画面から新規作成からDLLウィザードを選ぶと、VC++スタイルのDLLを選択して作成できるようになっています。VC++用のDLLを作成出来るとは書かれていません。実際、VC++コンパイラからリンクを拒否されます。

また、VC++用のインポートライブラリをCOFF形式からBorland用のOMF形式に変換するユーティリティCOFF2OMF)は存在していますが、OMF形式をCOFF形式に変換する手法を見かけません。

変換方法を書いているWEBや雑誌記事とかを紹介してください。

A 回答 (1件)

C++BuilderのDLLウィザードでの「VC++スタイル」はヘルプにあるようにエントリポイントが DLLMain になるだけです。


DLLはC++Builderで作成してもVisualC++で作成しても、どちらからも利用することができます。
MFC拡張など利用する側に対応が必要なDLLは別ですが。

C++BuilderとVisualC++ではインポートライブラリに互換性がありません。
C++Builder の場合は付属のツール implib.exe でDLLからインポートライブラリを生成できますが、VisualC++では簡単な方法はありません。

VisualC++での正攻法は LIB.EXE を使ってインポートライブラリを作成することですが、DEFファイルを書いてやらないといけません。
http://bme.t.u-tokyo.ac.jp/members/manabu/MKL_BC …
のdllからふるいCOFF形式のlibを作成するのところ。
http://www.sun-inet.or.jp/~yaneurao/dlang/Chapte …
がもう少し分かりやすいかもしれません。

私の場合は LoadLibrary(), GetProcAddress() で動的に呼び出すか、同じ定義の関数をエクスポートするダミーのDLLを作ってインポートライブラリを得ます。

参考URL:http://www.sun-inet.or.jp/~yaneurao/dlang/Chapte …
    • good
    • 0
この回答へのお礼

広く解決策を説明していただき有難う御座います。以前、VC++のdllをBorlandコンパイラに取り込むときに、DEFファイルを編集したことがありますので、自分の問題は解決できそうです。また、動的呼び出しとか、ダミーの件も、かなり参考になりました。
有難う御座います。

お礼日時:2004/12/05 14:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!