この問題のトラブルシューティングに丸一日費やしましたが、まだ運がありません。私のプロジェクトでは、[一般] プロパティ ページで [ATL の使用] プロパティを [ATL への静的リンク] に設定し、[コード生成] プロパティ ページ (C/C++ フォルダー) で [ランタイム ライブラリ]プロパティを[マルチスレッド (/MT) ] に設定します。ただし、DependencyWalker はまだ Atl71.dll 依存関係を示しています。
私はグーグルでこのページhttp://www.eggheadcafe.com/forumarchives/vcatl/Mar2006/post26077463.aspを見つけ、 atlbase.hの直後にatlwin.hを追加するソリューションを見つけました。このソリューションは、atl71.dll への依存を減らすのに役立ちました。ただし、CreateWindow が正しく機能しないという新しい問題が発生します。
// Creates the Web Browser control and navigates to the
// specified web page.
HWND hWnd = ::CreateWindow("AtlAxWin", "http://www.microsoft.com",
WS_CHILD|WS_VISIBLE, 10, 10, 500, 300, hParent, NULL,
::GetModuleHandle(NULL), NULL);
hwnd は NULL です。
したがって、atlwin.h を追加するソリューションは使用できません。以前に同様の静的リンクの問題に遭遇した人がいるのだろうか? それを解決する方法は?
環境: VS 2003 .Net
ありがとう!