OS :WinXP Pro
開発環境:VC6++ SP5
1つのワークスペース内に
多数のlibファイルを作成するプロジェクトを作りました。
そして、新しくDLLを作成するプロジェクトを追加し、
同じワークスペースにあるlibファイルをまとめて
とりこんで、1つのDLLを作成したいのですが、
どうすればいいのかわかりません。
そのDLLが1つあれば、他のlibファイルは不要、としたいのです。
FileViewにlibファイルを追加したり、
[プロジェクト]-[設定]-[リンク]-[インプット]のなかの
オブジェクトライブラリモジュールに
該当するlibファイルを記述しても
とりこまれずリンクされません。
どのようにすればよいのでしょうか?
よろしくおねがいします。
どこからも使われていないので不要とみなされたのでしょう。
Exportしたい関数をExportする設定にしていますか?
#DEFファイルを使ったり,__declspec(dllexport)使ったり……。
YuOさん、すばやい回答ありがとうございます。
なるほど、新規DLLプロジェクトを作成し
使用したいLIBのプロジェクトと依存関係を持たせ
その中のDEFファイルに使用したい関数を記述
することでDLLの中に取り込むことができました。
今回は、多数のlibプロジェクトで使用する
全ての関数、クラスを出力して、1つのDLLとしたいのですが
この場合、使用したい関数、クラス等は
DEFファイルに全て記述しなければならないのでしょうか?
#ついでといっては何ですが
#libファイル内にあるクラスはどのようにして
#DLLにエクスポートすればよいのでしょうか?
#AFX_EXT_CLASSを使うようですが今ひとつわかりません。
#lib丸ごと出力できればいいなあ、とか思っているんですが
#無理でしょうか?
よろしくおねがいします
出力したい関数をdefに記述していても
呼び出し側のDLLで使用していなければ
リンクされないだけでした(;_;
ということで前述の方法で解決できそうです。
ありがとうございました
ツイート | ![]() |