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

解決


ヴぃ  2003-01-22 18:45:40  No: 50943  IP: [192.*.*.*]

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

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

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

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

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

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

編集 削除
YuO  2003-01-22 22:23:24  No: 50944  IP: [192.*.*.*]

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

編集 削除
ヴぃ  2003-01-23 11:10:22  No: 50945  IP: [192.*.*.*]

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

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

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

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

よろしくおねがいします

編集 削除
ヴぃ  2003-02-05 10:08:36  No: 50946  IP: [192.*.*.*]

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

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

ありがとうございました

編集 削除