2011-05-02 125 views

回答

40

gdi32库已安装在您的计算机上,很少有程序会在没有它的情况下运行。您的编译器(如果安装正确)通常会附带一个导入库,这是链接器用来在您的程序和系统中的文件之间进行绑定的内容。 (在你的编译器不来与导入库系统库的可能性不大的情况下,您将需要下载Microsoft Windows平台SDK)。

要使用GDI32链接:

enter image description here

这将可靠地与所有系统库的MinGW-gcc一起工作(如果您也使用其他编译器,它也可以工作,但我不能谈论我没有尝试过的东西)。您也可以编写图书馆的全名,但除了进行更多类型的工作外,编写libgdi32.agdi32没有任何优势。
如果是这样,而不是工作出于某种原因,您可能必须提供一个不同的名称(例如该库命名为gdi32.lib为MSVC)。

对于某些奇数位置或项目子文件夹中的库,您需要提供正确的路径名(单击文件选择对话框的“...”按钮)。

+2

尼斯回答+1的图片:) – 2011-06-19 10:10:58

+0

顺便说一下,OP应该改变整个项目,而不是单个目标的链接器设置。这可以通过点击“Project build options”窗口中的项目名称(截图中的“我的项目”)来完成。 – HolyBlackCat 2015-01-25 19:36:00

+0

嗨,我有一个问题链接SDL和SDL_image,谢谢你这个例子帮了我很多.. btw在一些例子中,我已经看到了像“-lSDL”和“-lSDL_image”链接它的说法,但这没关系为命令行。 CodeBlocks为你添加“-l”,所以只需添加库名,就像你做的GDI32一样。他们应该解释这一点,因为周围有很多新手和混乱。(我是一个) 谢谢 – HoNgOuRu 2015-03-23 16:37:43

0

推测,您使用Code :: Blocks创建了一个控制台应用程序项目。这样的项目并没有链接到GDI中,因为控制台应用程序通常不打算做图形,而TextOut是一个图形功能。如果你想使用GDI的功能,你应该创建一个Win32 Gui项目,它将被设置为在你的GDI链接。

+0

我不相信这是真的。即时通讯使用opengl(win32窗口创建)与控制台应用程序,它仍然有效。 – 2011-06-19 10:10:27

-2

总括来说需要 过程使用库: 一旦每库:

1)采集库。从网站或通过 软件包管理器下载 。

2)安装库。将其解压缩到 目录或通过 程序包管理器进行安装。

3)告诉编译器 库的头文件在哪里查找 。

4)告诉链接器 为 库的库文件的位置。

一旦每个项目:

5)告诉链接静态或 导入库文件连结的。 6)#在程序中包含库的 头文件。 7)确保程序知道 在哪里可以找到任何正在使用的动态 库。

步骤1和2 - 获取和 安装库 下载并安装库 到您的硬盘。有关此 步骤的更多信息,请参见静态和动态库 上的教程 。 步骤3和4 - 告诉编译器 在哪里可以找到头和 库文件 我们将做这 全球基础上使该库将 提供给我们所有的项目。 因此,以下步骤 只需要每 库进行一次。 A)转到“设置菜单”, 选择“编译器”。 B)点击“目录”标签。编译器选项卡 已经为您选择了 。 C)按下“添加”按钮,然后 将路径添加到 库的.h文件。如果您正在运行Linux 并通过 程序包管理器安装该程序库,请确保/ usr/include在此处列出。 D)单击“链接器”选项卡。按 “添加”按钮,并将路径 添加到库的.lib文件。如果 正在运行Linux,并且 通过程序包 安装了该库,请确保/ usr/lib在这里列出的是 。 E)按下“确定”按钮。 第5步 - 告诉链接器你的程序正在使用哪个库 对于第5步,我们需要将 库文件从库中添加到 我们的项目中。我们在个别项目的基础上以 执行此操作。 A)在默认的 工作区(可能是“Console application”,除非你改变了 它),右键点击加粗的 项目名称。从 菜单中选择“Build options”。 B)单击链接器选项卡。在 “链接库”窗口中,按 的“添加”按钮并将您希望项目的 库添加到 使用。 C)按“确定”按钮

6,7步 - #include头 文件,并确保项目能够 找到的DLL 只需#包括从库中的头文件(S) 在您的项目。

来源: http://www.learncpp.com/cpp-tutorial/a3-using-libraries-with-codeblocks/

+2

好的,谢谢,但现在我们有一个不同的问题,即抄袭。你不是引用你的源代码,并且一字不差地复制/粘贴所有内容。你是那篇文章的作者吗?您是否允许在Stack Exchange使用的CC-by-SA许可证下发布此文章? – Mat 2015-01-25 20:02:39