複数のプロジェクトで作成されたlibファイルを1つのDLLにするには?

解決


ヴぃ  2003-01-23 03:45:40  No: 50943

OS      :WinXP Pro
開発環境:VC6++ SP5

1つのワークスペース内に
多数のlibファイルを作成するプロジェクトを作りました。
そして、新しくDLLを作成するプロジェクトを追加し、
同じワークスペースにあるlibファイルをまとめて
とりこんで、1つのDLLを作成したいのですが、
どうすればいいのかわかりません。

そのDLLが1つあれば、他のlibファイルは不要、としたいのです。

FileViewにlibファイルを追加したり、
[プロジェクト]-[設定]-[リンク]-[インプット]のなかの
オブジェクトライブラリモジュールに
該当するlibファイルを記述しても
とりこまれずリンクされません。

どのようにすればよいのでしょうか?

よろしくおねがいします。


YuO  2003-01-23 07:23:24  No: 50944

どこからも使われていないので不要とみなされたのでしょう。
Exportしたい関数をExportする設定にしていますか?
#DEFファイルを使ったり,__declspec(dllexport)使ったり……。


ヴぃ  2003-01-23 20:10:22  No: 50945

YuOさん、すばやい回答ありがとうございます。

なるほど、新規DLLプロジェクトを作成し
使用したいLIBのプロジェクトと依存関係を持たせ
その中のDEFファイルに使用したい関数を記述
することでDLLの中に取り込むことができました。

今回は、多数のlibプロジェクトで使用する
全ての関数、クラスを出力して、1つのDLLとしたいのですが
この場合、使用したい関数、クラス等は
DEFファイルに全て記述しなければならないのでしょうか?

#ついでといっては何ですが
#libファイル内にあるクラスはどのようにして
#DLLにエクスポートすればよいのでしょうか?
#AFX_EXT_CLASSを使うようですが今ひとつわかりません。
#lib丸ごと出力できればいいなあ、とか思っているんですが
#無理でしょうか?

よろしくおねがいします


ヴぃ  2003-02-05 19:08:36  No: 50946

出力したい関数をdefに記述していても
呼び出し側のDLLで使用していなければ
リンクされないだけでした(;_;

ということで前述の方法で解決できそうです。

ありがとうございました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加