msimg32.libファイルをリンカにインポートする方法を教えてください

このQ&Aのポイント
  • 独学でwindowsプログラミングを学習している初心者ですが、ビットブロックを転送する方法でTransparentBlt関数を使おうとするとエラーが出ます。
  • 本によると、開発環境の設定によってmsimg32.libファイルのリンカへの追加が必要であることが書かれています。
  • WindowsXP HomeEditionおよびVisual Stdio.NET 2003の環境でmsimg32.libファイルをリンカに追加する方法を教えてください。
回答を見る
  • ベストアンサー

msimg32.libファイルをリンカにインポート? (初心者です

初めまして。独学でwindowsプログラミングを学習しているものです。 ビットブロックを転送する方法をいまやっているのですが、TransparentBlt関数を使うと 「未解決のシンボル _imp_TransparentBlt@44 が関数 _WindowPorc@16で参照されました。」 「外部参照 1 が未解決です」 と出ます。 最初は自分のソースが間違ってるのかな・・って思って、本に付属していたCD-ROMのソースをそのままコピペしてビルドしたのですが、結果は同じでした。 本に、「開発環境の設定によってはmsimg32.libファイルをリンカにインポートする必要があります。msimg32.libを設定に追加してください」 と書いてあって、ビルドできないのはそれが原因なのかな・・ って思い、設定に追加しようと思ったんですが、追加の仕方が分かりません。 自分なりにインターネットで調べたり、過去の質問を検索してみたりしたんですが、分かりませんでした。 msimg32.libファイルをリンカの設定に追加する方法を教えてください。 ちなみに環境はWindowsXP HomeEdition Visual Stdio.NET 2003  です

  • hae2
  • お礼率34% (16/47)

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

  • ベストアンサー
noname#30727
noname#30727
回答No.1

メニューのプロジェクト→プロパティ その中の、リンカ→入力→追加の依存ファイル にmsimg32.libを追加する(Debug/Releaseの両方)。 もしくは、ソースの適当な場所(例えばwingdi.h をインクルードしている.cppファイルの#includeブロックの下あたりなど)に、 #pragma comment(lib, "msimg32.lib") を追加する。

関連するQ&A

  • リンカにmsimg32.libをインポートする方法?(Windows API)

    現在の開発環境はBorland C++ Compiler(BCC) 5.5 を使用しているのですが、 TransparentBlt()関数やAlphaBlend()関数などが使えません。 どうやらmsimg32.libをリンカにインポートする必要があるらしいのですが調べてもよくわかりません。 BCCではこれらの関数は使えないのでしょうか? 設定方法を知っている方がいれば教えてください。

  • Visual C++ 2005 Express EditionでLINK2019エラー

    Visual C++ 2003.netからVisual C++ 2005 Express Editionに移行した際に、以前書いたプログラムがリンクエラーで動かなくなってしまいました。 追加するLibディレクトリが足りないのかと思ったのですが、何が足りないのか見つけることができませんでした。 解決法を教えていただけないでしょうか。 OSはWindows XPです。 よろしくお願いします。 エラーメッセージの内容↓ ------------------------------- error LNK2019: 未解決の外部シンボル __imp__GetWindowPlacement@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__DispatchMessageA@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__TranslateMessage@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__PeekMessageA@20 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__ValidateRect@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__ShowWindow@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__SetWindowPos@28 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__GetWindowRect@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__GetClientRect@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__CreateWindowExA@48 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__GetSystemMetrics@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__RegisterClassExA@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__LoadCursorA@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__DefWindowProcA@16 が関数 "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 error LNK2019: 未解決の外部シンボル __imp__PostQuitMessage@4 が関数 "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 現在追加されているLibディレクトリ↓ ------------------------------------------- $(VCInstallDir)lib $(VCInstallDir)PlatformSDK\lib $(FrameworkSDKDir)lib $(VSInstallDir) $(VSInstallDir)lib C:\Program Files\Microsoft Platform SDK\Lib C:\Program Files\Microsoft DirectX SDK (April 2007)\Lib\x86

  • DirextXエラー:ファイル'dxerr9.lib'を開くことができません。

    ------------------------------------ fatal error LINK1104: DirextXエラー:ファイル'dxerr9.lib'を開くことができません。 ------------------------------------ Visual Studio.NETで、 上のようなエラーが出て実行できません。 インクルードファイルに D:/Program Files/DX9SDK(April 2005)/Include プロジェクトのプロパティ→リンカ→入力→追加の依存ファイルに dsound.lib dinput8.lib dxerr9.lib d3dx9.lib d3d9.lib d3dxof.lib dxguid.lib 以上2つを設定してあります。 本(DirectX ゲームグラフィックスプログラミング ver2.0)の通りに設定したはずなのですが、なぜかエラーが出ます。 どこが問題なのかまったく分からないので、なにか問題がありそうなところがあったら教えてください。 以下、ビルド環境です。 VAIO VGN-S2 Pentium M (1.60GHz) 256MB MOBILITY RADEON 9200 WinXP Home version 2002 SP2 Visual Studio .NET 2003 よろしくお願いします。

  • DirectX9.0でlibファイルやincludeファイルが欠落?

    http://www.geekpage.jp/programming/directshow/ このサイトにあるDirectShowによる動画やMP3再生のサンプルを 実行しようとしたところ、 DirectShowを使ってプログラムを書くには、dshow.hというヘッダファイルをincludeしなくてはなりません。 ///////////////////////////////////////////////////////////// #include <dshow.h> 次に、リンカの設定を行わなくてはなりません。 DirectShowを使ったプログラムをコンパイルするには、VisualStudioの「構成プロパティ > リンカ > 入力 > 追加する依存関係」に「strmiids.lib」という項目を追加して下さい ////////////////////////////////////////////////////////////// という説明があったので指示通りにstrmiids.libを追加したら strmiids.libが見つからないと出てきました。 気になってC:\Programfiles内のLibフォルダからそのファイルを 探してみると、strmiids.libというファイルが入っていないと言うこと が判明しました。Includeフォルダからもdshow.hというファイルは 無いと分かりました。 DirectXを入れなおせば解決するかなと思い、 DirectX9.0 2007年6月バージョンから最新版の2007年8月バージョン に入れなおしたのですが、やはり症状は同じでした。 ひょっとしてDirectShowは最新のDirectXではサポートされなくなったのでしょうか・・? もしそうならそれに変わる技術があるということでしょうか・・。

  • FBXのプロジェクトについて

    困っています FBXのプロジェクト設定をしてビルドしてみたのですがどうもリンクエラーが消えません。 FBXSDKのViewsceneサンプルはコンパイルできるのですが自分でソリューションを作るとコンパイルすることができません。 よろしくお願いします。 解決方法がわかりません。 #include <fbxsdk.h> int main(int argc, char** argv) {   KFbxSdkManager *sdk = KFbxSdkManager::Create();   return 0; } 1>fbxsdk_md2005d.lib(kfbxutilities.obj) : error LNK2019: 未解決の外部シンボル __imp__InternetReadFile@16 が関数 "char * __cdecl fbxsdk_200903::FBXGet_Internet_Source_File(char const *)" (?FBXGet_Internet_Source_File@fbxsdk_200903@@YAPADPBD@Z) で参照されました。 1>fbxsdk_md2005d.lib(kfbxutilities.obj) : error LNK2019: 未解決の外部シンボル __imp__HttpQueryInfoA@20 が関数 "char * __cdecl fbxsdk_200903::FBXGet_Internet_Source_File(char const *)" (?FBXGet_Internet_Source_File@fbxsdk_200903@@YAPADPBD@Z) で参照されました。 1>fbxsdk_md2005d.lib(kfbxutilities.obj) : error LNK2019: 未解決の外部シンボル __imp__InternetCloseHandle@4 が関数 "char * __cdecl fbxsdk_200903::FBXGet_Internet_Source_File(char const *)" (?FBXGet_Internet_Source_File@fbxsdk_200903@@YAPADPBD@Z) で参照されました。 1>fbxsdk_md2005d.lib(kfbxutilities.obj) : error LNK2019: 未解決の外部シンボル __imp__InternetOpenUrlA@24 が関数 "char * __cdecl fbxsdk_200903::FBXGet_Internet_Source_File(char const *)" (?FBXGet_Internet_Source_File@fbxsdk_200903@@YAPADPBD@Z) で参照されました。 1>fbxsdk_md2005d.lib(kfbxutilities.obj) : error LNK2019: 未解決の外部シンボル __imp__InternetOpenA@20 が関数 "char * __cdecl fbxsdk_200903::FBXGet_Internet_Source_File(char const *)" (?FBXGet_Internet_Source_File@fbxsdk_200903@@YAPADPBD@Z) で参照されました。 1>C:\FBX\FBX\Debug\FBX.exe : fatal error LNK1120: 外部参照 5 が未解決です。 VisualStudio2005 AcademicEdition FBX SDK 2009.3ver 追加のインクルードディレクトリ C:\ProgramFile\Autodesk\FBX\FBXSdk\2009.3\include C:\ProgramFile\Autodesk\FBX\FbxSdk\2009.3\include\kbaselib プリプロセッサの定義 WIN32;_DEBUG;_CONSOLE;K_PLUGIN;K_FBXSDK;K_NODLL;_CRT_SECURE_NO_DEPRECATE;KARCH_ENV_WIN32 追加のライブラリディレクトリ C:\ProgramFile\Autodesk\FBX\FBXSdk\2009.3\lib 追加の依存ファイル fbxsdk_md2005d.lib 特定のライブラリの無視 LIBCMT ランタイムライブラリ マルチスレッドデバッグDLL(/MDd)

  • リンカのコマンドライン

    こんにちは。 C言語の勉強をしているのですが、リンカができなくて困っています。 環境: OS:windows2000 コンパイラ:Borland C++ 5.5 (他に必要な環境があれば、ご教授ください) まず、main()関数と作成した関数をコンパイルします。 Borland C++ 5.5のヘルプを参照して、 「bcc32 main.obj make.obj pro.lib」 これでリンクしようとしたのですが、 「ファイル pro.libが開けません」 とプロンプトに出力されます。 (main()関数→main.obj 作成した関数→make.obj 関数プロトタイプ宣言するファイル→pro.lib)  保存は(main.obj→main.cpp、make.obj→make.cpp、pro.lib→pro.h) と以上のようになっております。 コーディングミスは参考書を散々読み直したので、間違いないと思っております。 ただ、参考書が間違っていたら、取り付く島もありません。 どうぞ、お願いいたします。

  • visual studio 2008 libファイルの使い方

    外部からlibファイルをリンクしたいのですがやり方が分かりません。 プロパティのリンカ-全般から追加のライブラリディレクトリを指定するのですが、入力の追加ファイルからリンクしたいファイルをどう指定するのかが分かりません。 どなたかご教示していただけないでしょうか。

  • DLLとインポート、エクスポート

    環境 Microsoft Visual C++ DLLはWin32 Dynamic-Link Library ExeはWin32 Application で作成しています。 DLLにメッセージボックスを表示するのみの処理の関数があり。 Exe側でその関数を使用したいだけです。 DLLのヘッダファイルにエクスポートしたい関数を _declspec(dllexport) void exportmain(); としています。 Exeではインポートを __declspec(dllimport) void exportmain(); としています。 プロジェクト⇒設定⇒リンクにlibファイルの設定もしています。 dll、libファイルの場所も問題ないと思います。 しかし、ビルドすると「外部シンボル~~未解決です」とエラーがでてしまいます。なにか原因がわかるかたおりましたら、ご教授お願い致します。

  • .libファイルのリンク

    Visual C++ 2005 Express Edition を使ってプログラミングの勉強をしています。 自分でdllを作りそれを他のプロジェクトにリンクしようとしたのですが、 .libファイルをプロジェクトに追加したところ、ダイアログボックスが出現し、 拡張子".lib"を含むビルドファイルに対するカスタムビルド規則が見つかりませんでした。 この拡張子のファイルをビルドするためのカスタムビルド規則を定義する、新しい規則ファイルを作成しますか? と聞かれました。 意味が分からないので "いいえ"にしたところ、コンパイルエラーになりました。 この場合はどうしたらいいのでしょうか??

  • DirectX9 lib関連

    DirectX9のGraphicsを使用したいので d3d9.libをリンクしたいのですが、プロジェクトのリンカの中に設定してビルドをすると、【d3d9.lib】は見つかりません。 とエラーが出てしまいます。 DirectX9はインストール済みです。 Microsoft DirectX SDK (August 2006)もインストール済みです。 どうやったら、ビルドが通るようになりますでしょうか? 知っているかたいましたら、ご教授願います。 よろしくお願いいたします。

専門家に質問してみよう