C++ GUIチュートリアル:TextOutへの未定義の参照
私は同じ問題を抱えていますが、プログラミングとCode :: Blocksが初めてなので、GDI32ライブラリを使用したいと思います。どうすればインストールできますか? windows.hヘッダーを使用できるので非常に混乱していますが、TextOut
などの一部の関数は使用できません。
Gdi32ライブラリは既にコンピューターにインストールされています。gdi32ライブラリがないと実行されるプログラムはほとんどありません。コンパイラには(適切にインストールされている場合)通常、インポートライブラリが付属しています。これは、リンカがプログラムとシステム内のファイルとの間のバインディングを作成するために使用するものです。 (まれに、システムライブラリ用のインポートライブラリがコンパイラに付属していない場合は、Microsoft Windows Platform SDKをダウンロードする必要があります。)
Gdi32とリンクするには:
これは、すべてのシステムライブラリのMinGW-gccで確実に動作します(他のコンパイラも使用している場合は動作するはずですですが、試したことがないことは話せません)。ライブラリのフルネームを書くこともできますが、libgdi32.a
はgdi32
より多くの型の仕事であること以外。
何らかの理由でnot動作する場合は、別の名前を指定する必要があります(たとえば、ライブラリの名前はgdi32.lib
MSVCの場合)。
奇妙な場所にあるライブラリやプロジェクトのサブフォルダの場合、適切なパス名を指定する必要があります(ファイル選択ダイアログの[...]ボタンをクリックします)。
推測では、Code :: Blocksを使用してConsole Applicationプロジェクトを作成しました。このようなプロジェクトは、GDI stuffではリンクしません。コンソールアプリケーションは一般にグラフィックスを目的としておらず、TextOut
はグラフィックス関数であるためです。機能を使用する場合GDIの場合、Win32 Gui Projectを作成する必要があります。これは、GDIにリンクするようにセットアップされます。