WIN XP Pro, VS2005C++にてMFCアプリの資産を流用し開発を行っております。
異なるプロジェクトからダイアログを呼び出した時に、
LNK2019が発生し解決できなく困っております。
ご助言よろしくお願いいたします。
なにぶんMFC初心者でございまして、言葉足らずな箇所ございましたら
ご指摘いただけますと幸いです。
1.プロジェクト概要
[helloworld](Project)
helloStart.cpp (ボタンを押すとrealtimedemoのダイアログが起動)
helloStart.h
[realtimedemo](Project)
realtimedemodlg.cpp
realtimedemodlg.h
2.実装概要
・ChelloStartダイログのボタンを押すとCRealtimedemoDlgをModalで起動
void ChelloStart::OnBnClickedButton2()
{
CRealtimedemoDlg *pDlg;
pDlg = new CRealtimedemoDlg(this);
int nResponse = pDlg->DoModal();
if (nResponse == IDOK){}
else if (nResponse == IDCANCEL)
{delete pDlg;}
}
・helloStart.hに”#include reartimedlg.h”を追記
3.エラー内容
1>helloStart.obj : error LNK2019: 未解決の外部シンボル "public: __thiscall CRealtimedemoDlg::CRealtimedemoDlg
(class CWnd *)" (??0CRealtimedemoDlg@@QAE@PAVCWnd@@@Z) が
関数 "public: void __thiscall ChelloStart::OnBnClickedButton2(void)" (?OnBnClickedButton2@ChelloStart@@QAEXXZ)
で参照されました。
1>.\..\bin\Debug/helloworld.exe : fatal error LNK1120: 外部参照 1 が未解決です。
以上よろしくお願いいたします。
realtimedemo.hを#includeすることでコンパイルはできますが、
それだけだとリンクに失敗します。
リンクを成功させるには、realtimedemoプロジェクトをライブラリ化して、
それをhelloworldのビルド時にリンクしないといけないです。
プロジェクトのプロパティを探せば、全般→構成の種類で
ライブラリでビルドする設定ができます。
ライブラリのリンク設定は、プロパティのリンカ→入力→追加の依存ファイル
で可能です。
JUN様
諸事情あり返答遅くなりまことに失礼いたしました。
ご教授まことにありがとうございました。
LNK2019の件解決いたしました。
ご丁寧なアドバイス感謝いたします。
NY
ツイート | ![]() |