C++ 如何使用Code::Blocks链接到库?

C++ 如何使用Code::Blocks链接到库?,c++,winapi,codeblocks,C++,Winapi,Codeblocks,我也有同样的问题,但我对编程和Code::Blocks是新手,我想使用GDI32库。如何安装它?我很困惑,因为我可以使用windows.h标题,但是像TextOut这样的一些功能不可用。您的计算机上已经安装了gdi32库,没有它几乎没有程序可以运行。编译器(如果安装正确)通常会附带一个导入库,链接器使用该库在程序和系统中的文件之间进行绑定。(在不太可能的情况下,编译器没有为系统库提供导入库,您需要下载Microsoft Windows平台SDK。) 要链接到gdi32,请执行以下操作: 这将在


我也有同样的问题,但我对编程和Code::Blocks是新手,我想使用GDI32库。如何安装它?我很困惑,因为我可以使用windows.h标题,但是像
TextOut
这样的一些功能不可用。

您的计算机上已经安装了gdi32库,没有它几乎没有程序可以运行。编译器(如果安装正确)通常会附带一个导入库,链接器使用该库在程序和系统中的文件之间进行绑定。(在不太可能的情况下,编译器没有为系统库提供导入库,您需要下载Microsoft Windows平台SDK。)

要链接到gdi32,请执行以下操作:

这将在所有系统库中可靠地与mingwgcc一起工作(如果您也使用任何其他编译器,它应该可以工作,但我不能谈论我没有尝试过的事情)。您也可以写库的全名,但写
libgdi32.a
除了更多的打字工作之外,没有任何优于
gdi32
的优势。
如果由于某种原因它不起作用,您可能必须提供不同的名称(例如,对于MSVC,库名为
gdi32.lib


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

您的计算机上已经安装了gdi32库,没有它的程序将无法运行。编译器(如果安装正确)通常会附带一个导入库,链接器使用该库在程序和系统中的文件之间进行绑定。(在不太可能的情况下,编译器没有为系统库提供导入库,您需要下载Microsoft Windows平台SDK。)

要链接到gdi32,请执行以下操作:

这将在所有系统库中可靠地与mingwgcc一起工作(如果您也使用任何其他编译器,它应该可以工作,但我不能谈论我没有尝试过的事情)。您也可以写库的全名,但写
libgdi32.a
除了更多的打字工作之外,没有任何优于
gdi32
的优势。
如果由于某种原因它不起作用,您可能必须提供不同的名称(例如,对于MSVC,库名为
gdi32.lib


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

猜测一下,您使用Code::Blocks创建了一个控制台应用程序项目。这样的项目不会链接到GDI中,因为控制台应用程序通常不打算进行图形处理,而
TextOut
是一个图形功能。如果您想使用GDI的功能,应该创建一个Win32 Gui项目
,该项目将被设置为在GDI中链接。

猜测一下,您使用Code::Blocks创建了一个控制台应用程序项目。这样的项目不会链接到GDI中,因为控制台应用程序通常不打算进行图形处理,而
TextOut
是一个图形功能。如果您想使用GDI的功能,您应该创建一个Win32 Gui项目,该项目将被设置为在GDI中为您链接。

我不相信这是真的。我使用opengl(win32窗口创建)和一个控制台应用程序,它仍然可以工作。我不相信这是真的。im将opengl(win32 window creation)与控制台应用程序一起使用,它仍然可以工作。顺便说一句,OP应该更改整个项目的链接器设置,而不是单个目标。这可以通过点击
project build options
窗口内的项目名称来完成(屏幕截图上的
My project
)。您好,我在链接SDL和SDL_图像时遇到问题,谢谢您这个例子帮了我很大的忙。。顺便说一句,在一些示例中,我看到了将其链接为“-lSDL”和“-lSDL_image”的说法,但对于命令行来说这是可以的。代码块为您添加“-l”,因此只添加库名称,就像您添加GDI32一样。他们应该解释清楚这一点,因为周围有很多胡言乱语,他们会感到困惑。(我也是)谢谢你,汉克斯,达蒙。使用此解决方案,我在项目中链接了gdi32库。我的开发操作系统是window7,IDE是代码块。它解决了我的以下错误:“未定义对getstockobject 4@”顺便说一句,OP应该更改整个项目的链接器设置,而不是单个目标。这可以通过点击
project build options
窗口内的项目名称来完成(屏幕截图上的
My project
)。您好,我在链接SDL和SDL_图像时遇到问题,谢谢您这个例子帮了我很大的忙。。顺便说一句,在一些示例中,我看到了将其链接为“-lSDL”和“-lSDL_image”的说法,但对于命令行来说这是可以的。代码块为您添加“-l”,因此只添加库名称,就像您添加GDI32一样。他们应该解释清楚这一点,因为周围有很多胡言乱语,他们会感到困惑。(我也是)谢谢你,汉克斯,达蒙。使用此解决方案,我在项目中链接了gdi32库。我的开发操作系统是window7,IDE是代码块。它解决了我的以下错误:“对getstockobject 4@的未定义引用”