- ベストアンサー
DLLからEXEのクラスを呼び出すとリンクエラーになります。
私は昔VC++6.0を少し触っただけの初心者に近い状態のレベルです。 作っているプログラムは、1つのソリューションの中にEXE実行するプロジェクトとDLLを作るプロジェクトの2つプロジェクトを含んでいます。 DLL側からEXEのクラスを使用すると、ビルド時にリンクエラーになります。LNK2019でシンボルのエラーなのですが、なぜそうなのか?がわかりません。 ご教授いただけますでしょうか。 <ソリューションの構成> A ソリューション Aプロジェクト(.exe) AAクラス ERR親クラス ← ERR子クラスの継承 Bプロジェクト(.dll) 静的リンク(.defファイル使用) BAクラス BAクラスの実装 { try { throw ERR子クラス } catch(ERR子クラス) { } } やりたいことは、BプロジェクトにあるERR子クラスをBプロジェクトと Cプロジェクトの両方で使用したいです。 ビルド時に上のBAクラスのERR子クラスのところでコンパイルはとおるのですが、リンクエラーになります。エラーコードはLNK2019です。 何が足りないのでしょうか? dllからexeのクラスを呼び出すようなことはできないのでしょうか? このやり方自体に問題があり、他の方法にする方がいいですか? ERR親クラス、ERR子クラスともヘッダー定義があり。 CAクラスのヘッダー定義内でinclude宣言しています。 versionはVC2003++です。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
お礼
依存ファイルにobjを指示することにしました。 それぞれにソースを置くとファイルの 修正が手間なので。 依存関係を確かめて問題ありませんでした。 解決しました。ありがとうございます。