質問: ### 前提・実現したいこと MFCアプリケーション(群)で参照するためのDLLを作成したい。 そのためにDLLプロジェクトをビルドした際にインポートライブラリが生成されるようにしたい。 もしくはインポートライブラリの作成方法を学ぶことが出来るサイトを教えてほしい。 ### 発生している問題・エラーメッセージ DLLプロジェクトを作成、ビルドしてDebugフォルダにDLLファイルを生成しました。 ですがインポートライブラリのLIBファイルが生成されずMFCアプリケーション側からDLLのロジックを参照できません。 (DLLを作成するプロジェクトはインポートライブラリも生成するものと判断しています。参考) ### 試したこと ヘッダだけMFCアプリケーションのソースで#includeしたり、プロジェクトのプロパティ>リンカー>依存ファイルに生成したDLLを指定してもリンカーエラーが発生するだけでビルドを通すことも出来ません。 DLLプロジェクトはMSDNのサイトを参考に作成、設定しました。 よろしくお願いいたします。 ### 補足情報(FW/ツールのバージョンなど) * Windows7/64bit SP * VisualStudio2015 SP1 * C++/MFC
回答: 以下の手順で一応、解決できました。 ``` 0. MFC DLLとしてプロジェクトを作り直す。 0. MFC DLLプロジェクトをビルドする。(MFC DLLプロジェクトでビルドするとDLL,LIBが生成された) (以下はおそらく通常通り) 0. MFC DLLプロジェクトで生成したDLL,LIBを呼び出し側のカレントにコピー 0. リンカー設定でLIBを追加の依存ファイルに追加 0. ヘッダを参照できるように呼び出し側の追加のインクルードディレクトリを更新 0. 呼び出し側のソースコード上でMFC DLLのヘッダを#inlclude ``` 一応解決としますが、結局VS2015のWin32アプリテンプレートから作成したDLLを利用する方法はわからなかったので上記は回避策ですね・・・ 「質問への追記・修正の依頼」欄でKoichiSugiyamaさんにアドバイスいただいた方向で修正を行わなかったのは *「ビルドにエクスポート ファイル(.exp)が使われている場合は、インポート ライブラリが既に存在していると見なされます。したがって、インポート ライブラリは生成されません。」*に対してエクスポート ファイルを用いないビルド方法を探し出せなかったためです。