• ベストアンサー

ライブラリのリンクについて

Visual Studio net 2003 で プログラミングを始めたばかりの初心者です。 先日 猫でもわかるwindows プログラミング(第2版)の本をつかって p415にある説明どうりに 第13章のコモンコントロールのプロジェクトにライブラリをリンクさせようとしたのですが、その第13章で必要と思われるcomctl32.libが見つかりません。このライブラリがないせいか、この章でつくったプログラムには fatal error がでてきてしまいます。 いったいcomctl32.libはどこにあるのでしょうか? 一応ライブラリのリンクの仕方もよろしければご教授ください。説明に不足があれば追加致しますのでよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>ライブラリのリンクの仕方 普通にやるなら2通りあります。 【1】ソースに #pragma comment(lib, "comctl32.lib") を追加する 【2】プロジェクトに comctl32.lib を参加させる 簡単なのは【1】です。 WinMain 関数があるソースファイルの頭に #pragma comment(lib, "comctl32.lib") を追加してください。 (ただし、環境に依存しますが) >comctl32.libはどこにあるのでしょうか? 私の環境 VC++2008 では C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib にありました。 上記の【1】か【2】のどちらかを行えば comctl32.lib を特にどうこうする必要はありません。 (標準のリンクパスにcomctl32.libがあるはずです。  comctl32.lib を別の場所へ移動してはいけません)

ganfuji142
質問者

お礼

ありました。たしかに comctl32.lib が C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib のLIBの中ににあって  ファイル -> 既存項目の追加 ー> で comctl32.libを開きもう一度プログラムをビルドしたらこんどはエラーがなく うまくいきました。 本当にありがとうございました。

その他の回答 (2)

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.3

最近の、.NET 開発環境には、過去互換のライブラリとかは含まれてないかもしれません。 comctl32.libが必要なら、古いバージョンのVisual Studioを探して来るか。 または、 Windows Server 2003 PSDKを使うと良いですよ。 Windows Server 2003 PSDK にはcomctl32.libも含まれていますよ。 エディタが必要なら、Visual Studio .NET 2003から呼び出すように設定しても動作します。 ※ただし、リソースエディタは互換性がないので、リソースの編集は直接テキストエディタで行うことになります。 ●Platform SDK - Install - Home(こちらはMicrosoft Platform SDK デストリビュートのホーム) http://www.microsoft.com/msdownload/platformsdk/sdkupdate/downlevel.htm ●Microsoft Platform SDK Update(Microsoft Platform SDKは、ここからダウンロードできます。) http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

このファイルはVS2003のインストールフォルダー内の VC7\PlatformSDK\LIB に存在しますよ

ganfuji142
質問者

お礼

ありました。 確かVC7\PlatformSDK\LIBの中に、 ほんと こんなちょっとしたことで お手数をかけました。しかし助かりました。本当にありがとうございました。

関連するQ&A