【发布时间】:2011-08-17 07:01:09
【问题描述】:
C++ GUI Tutorial: undefined reference to TextOut
我有同样的问题,但我是编程和 Code::Blocks 的新手,我想使用 GDI32 库。我该如何安装它?我很困惑,因为我可以使用 windows.h 标头,但是像 TextOut 这样的一些功能不可用。
【问题讨论】:
标签: c++ winapi codeblocks
C++ GUI Tutorial: undefined reference to TextOut
我有同样的问题,但我是编程和 Code::Blocks 的新手,我想使用 GDI32 库。我该如何安装它?我很困惑,因为我可以使用 windows.h 标头,但是像 TextOut 这样的一些功能不可用。
【问题讨论】:
标签: c++ winapi codeblocks
gdi32 库已经安装在您的计算机上,没有它,很少有程序可以运行。您的编译器(如果安装正确)通常会附带一个导入库,链接器使用它来在您的程序和系统中的文件之间进行绑定。 (在极少数情况下,您的编译器没有为系统库提供导入库,您需要下载 Microsoft Windows 平台 SDK。)
与 gdi32 链接:
这将可靠地与 MinGW-gcc 一起用于所有系统库(如果您也使用任何其他编译器,它应该可以工作,但我不能谈论我没有尝试过的事情)。你也可以写库的全名,但是写libgdi32.a 比gdi32 没有优势,除了更多的类型工作。
如果它出于某种原因不起作用,您可能必须提供不同的名称(例如,对于 MSVC,该库被命名为 gdi32.lib)。
对于某些奇怪位置或项目子文件夹中的库,您需要提供正确的路径名(单击“...”按钮以打开文件选择对话框)。
【讨论】:
Project build options 窗口内的项目名称来完成(屏幕截图上的My Project)。
猜想,您使用 Code::Blocks 创建了一个控制台应用程序项目。这样的项目并没有在 GDI 的东西中链接,因为控制台应用程序一般不打算做图形,而TextOut 是一个图形功能。如果您想使用 GDI 的功能,您应该创建一个 Win32 Gui 项目,它将为您设置链接到 GDI。
【讨论】: