• 締切済み

IEコンポーネント使用でリンクエラー

Windows XP SP2 + VC++6.0 + IE6 SP2 で IEコンポーネントを使用するプログラムを作成しています。 MFC は使用していません。 このプロジェクトをビルドするとリンクエラーが発生します。 *****.obj : error LNK2001: 外部シンボル "_IID_IHTMLFormElement2" は未解決です *****.obj : error LNK2001: 外部シンボル "_IID_IHTMLInputElement" は未解決です 「mshtml.libをリンクすべし」と言っているサイトがあったのですが mshtml.lib なるファイルが私の環境にはありません。 どこかで入手できるものなのでしょうか。探しましたがわかりませんでした。 また、「mshtml.tlbをインポートすべし」というサイトもあったのですが インポートしても同じリンクエラーが発生します。 ちなみに使用している各ファイルの日付は以下の通りです。 MsHTML.h 2005/04/14 mshtml.tlb 2004/08/05 どうかアドバイスをお願いいたします。

みんなの回答

回答No.3

>VC++6.0を再インストールしましたが 質問者さんが「Visual Studioとは、VC++の事だ」と誤解している可能性があるので追記。 Visual Studioとは ・Web デベロッパーツール(Windows SDKのようなもの。MsHtml.libは、これに入っている) ・Visual Basic ・Visual C# ・Visual C++(通称、VC++) の4つの製品を1つにした製品です。 これらを「バラ売り」しているうちの1つが、質問者さんがお持ちの ・Visual C++(通称、VC++) です。 これで「なぜ、自分のところにMsHtml.libが無いのか?」が理解できた筈ですが、どうでしょうか?

dahlia63
質問者

お礼

chie65535さん、お返事ありがとうございます。 > これで「なぜ、自分のところにMsHtml.libが無いのか?」が理解できた筈ですが、どうでしょうか? ビルドはできたのですが VC++ 6.0 + Windows Platform SDK の環境にも Visual Studio 2008の環境にもmshtml.lib はないのです。 それはまたおいおい調査していきたいと思います。

回答No.2

質問者さんは「Windows SDKかVisual Studioをインストールしないとインストールされない」って書いてるのが読めないか、読んでも意味が判らないようなので、IEコンポーネントを使用するのは諦めて下さい。 どうやら、私の回答は質問者さんには難解過ぎたようで、これ以上、私が何を回答したって判っては貰えないでしょう。 >VC++6.0を再インストールしましたが、やはりmshtml.libはありません。 VC++6.0には、元々、mshtml.libは含まれていません。いくら再インストールしても無駄です。 「mshtml.libは、Windows SDKかVisual Studioをインストールしないとインストールされない」と言う文章を100回声に出して読んで下さい。 そして、100回声に出して読んだ後、自分が次に何をすべきか判らない場合は、IEコンポーネントを使用するのは諦めて下さい。

dahlia63
質問者

お礼

chie65535さん、お返事ありがとうございます。 お礼が遅くなりまして申し訳ありません。 Windows Platform SDKをインストールしたところ ビルドできるようになりました。 また、Visual Studio 2008の環境でもビルドできることを確認しました。 ※次のお礼欄に続きます。

回答No.1

>MsHTML.h 2005/04/14 ライブラリ内の関数や、ライブラリを使用する上で必要な定数などが定義されたインクルードファイル。 >mshtml.tlb 2004/08/05 Visual Basicで作られたアプリケーションが参照する、タイプライブラリファイル。中身はComponent Object Model情報。 <mshtml.lib Windows SDKかVisual Studioをインストールしないとインストールされない、COMにアクセスする為のライブラリファイル。 なので MsHTML.h 2005/04/14 mshtml.tlb 2004/08/05 mshtml.lib の3つが揃っていないと、VC++からMSHTMLライブラリを使う事は出来ません。

dahlia63
質問者

お礼

chie65535さん、お返事ありがとうございます。 そのmshtml.libが開発環境内に見つからないのです。 (考えにくいですが)mshtml.libだけを削除してしまったのかと思い VC++6.0を再インストールしましたが、やはりmshtml.libはありません。 そして同じリンクエラーが発生します。 chie65535さんの環境には3つのファイルが揃っているということですよね。 ※SPについて書くのを忘れておりました。SP6を適用しています。

関連するQ&A