如何将额外的库添加到Visual Studio项目?

102

Allergro是一个用于图形处理的开源C++附加库。我该如何将这个库添加到我的编译器中?

由于我使用的是Windows 7操作系统,所以说明文档对我不起作用。我不知道操作系统是否会影响。我使用的是Visual Studio Express版。该库是一个.dll文件。我该如何将它添加到我的项目中?


你可能需要在编译时包含所需的适当头文件并链接库(在Windows上为.dll文件)。 - RageD
@RageD:即使是DLL,Windows上的库也是通过.lib文件链接的。 - Ignacio Vazquez-Abrams
4个回答

157
对于Visual Studio,您需要在“解决资源管理器”中右键单击项目,然后单击属性
接下来打开配置属性,然后选择链接器
现在您需要将包含 Allegro 库的文件夹添加到其他库目录中,
链接器 -> 输入中,您将在其他依赖项下添加实际的库文件。
对于头文件,您还需要在C/C++ -> 其他包含目录下包含它们的目录。
如果有dll,请将其复制到主项目文件夹中,然后完成。
我建议将 Allegro 文件放在项目文件夹中,然后在库和头文件目录中使用本地引用。
这样做可以使您在其他计算机上运行应用程序而无需在其他计算机上安装 Allergo。
这篇文章是针对 Visual Studio 2008 编写的。 对于 2010 版本,操作大致相同。

我也使用Eclipse。 (MinGW)。这个对它也适用吗? - Saad Masood
1
我也使用Eclipse(MinGW)。这对它也适用吗?并不完全适用,因为在不同的IDE和工具链上会有类似的指令,但是我不会期望不同IDE的对话框是相同的。 - drescherjm
按照您建议的步骤,我遇到了两个错误: LNK1104 无法打开文件“chess.lib” MSB6006 “link.exe”以代码1104退出 - QuarterlyQuotaOfQuotes

61
#pragma comment(lib, "Your library name here")添加到您的源代码中。

那有助于解决在Visual Studio 2012中的问题。谢谢! - Kuba Orlik
没错,在 VS 2017 中可以运行,如果库在标准路径中,它会自动被捕捉到! - SexyBeast
它适用于库:#pragma comment(lib, "Winmm.lib")。但是将库添加到“附加依赖项”选项中后,它并没有起作用。为什么会这样? - Carlitos_30

6

如果不知道你的编译器,没有人能够给你具体的、逐步的说明,但基本的步骤如下:

  1. 指定应该搜索的路径以找到实际的库(通常在属性页面中的“库搜索路径”、“库目录”等下面)

  2. 在链接器选项下,指定库的实际名称。在VS中,您将写入Allegro.lib(或其他),在Linux中,您通常只需编写Allegro(前缀/后缀自动添加)。这通常在“库-输入”、“仅库”或类似位置。

  3. 确保已经包含了库的头文件,并确保它们可以被找到(与步骤#1和#2中列出的过程类似)。如果是静态库,那么就没问题了;如果是DLL,您需要将其复制到项目中。

  4. 点击构建按钮。


3
这个描述非常模糊。你尝试了什么,它失败了怎么办?
要将库包含在项目中,您必须将其包含在传递给链接器的模块中。要执行此操作的确切步骤取决于您使用的工具。那部分与操作系统无关。
现在,如果您成功地将库编译到应用程序中并且它无法运行,这可能与操作系统有关。

我得到了这个压缩文件。有人告诉我按照压缩文件中的说明操作。首先,你需要使用cmake。所以我安装了cmake,但是它并没有按照预期进行。 - Saad Masood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接