如何在Visual Studio 2012中设置GLM库

10

我如何在Visual Studio 2012中设置 GLM Library

首先,我尝试将GLM库目录解压到我的VS 2012项目目录中(包含GLM库的目录名为glm-0.9.4.4)。然后我尝试将glm-0.9.4.4添加到

项目 -> 属性 -> VC++目录 -> 包含目录

然后当我尝试在代码中使用include #include <glm/glm.hpp>时,我收到以下错误:

fatal error C1083: Cannot open include file: 'glm/glm.hpp': No such file or directory

我应该如何正确地设置GLM库以使其在我的代码中正常工作?


我从未将任何库添加到我的Visual Studio安装目录中。我将库添加到项目位置(我创建项目的目录)中。 - DontCareBear
3个回答

9
我成功解决了问题。为了将GLM库添加到包含路径中,我执行了以下步骤:
  1. 将glm代码目录提取到我的项目目录中(从互联网下载的存档中的目录名称为glm-0.9.4.4)。 例如,如果项目在C:\projects\myProject中,则将glm代码提取到此路径(C:\projects\myProject)。
  2. 然后,我将glm目录的完整路径C:\projects\myProject\glm-0.9.4.4添加到:

    => 在解决方案查看器中右键单击项目 => 从下拉菜单中选择属性 => C\C++ => 常规 => 附加包含目录。

  3. C:\projects\myProject\glm-0.9.4.4添加到“附加包含目录”编辑框中。
另一个选项是,如果您不想为glm库(或任何其他您想在项目中包含的库)使用完整路径,则可以使用路径.\glm-0.9.4.4代替完整路径(这仅在您将glm库提取到项目目录中时有效!)。

5
不应该包含所有这些文件。你只需要包含 glm-0.9.4.4 文件夹里的 glm 文件夹即可。其他所有文件对于使用 glm 来说都是无关紧要的。 - apoiat

3

GLM是一个仅包含头文件的库,所以只需要将其很好地包含到您的项目中即可。

  1. 您是否实际将GLM文件夹放在了include路径中? "glm-0.9.4.4"文件夹与"glm"不同。基本上请确保您要包含的路径是正确的。

  2. 如果您要在本地(项目)目录中包含某些内容,请使用引号而不是尖括号进行包含。#include "glm/glm.hpp"。但是,如果您已经告诉VC查找您放置GLM的目录,则应该使用尖括号。通常,尖括号查找您的包含路径,而引号查找您的本地路径。这个问题有更好的解释。

您的默认包含路径应该类似于C:/.../Microsoft Visual Studio 12/VC/include。如果您不想每次创建新项目时重新复制它,请将其转储到那里,以便所有项目都可以访问它。如果您想这样做,请找到您的项目目录,并将"glm"文件夹放在其他头文件所在的位置,并使用引号而不是尖括号#include引用它。

您尝试自己寻找了吗?搜索stdio.h的位置或名为"include"的文件夹的位置。


1
你也可以将整个glm文件夹导入到你的项目中,然后使用引号来包含glm.hpp文件。这在过去对我有效,而且不需要过多担心头文件包含目录等问题。

通过“导入”,我实际上是指将文件添加到您的VS项目中。 - apoiat
我正在使用Visual Studio 2012 Express,通过右键单击我的解决方案,选择“添加”->“现有项目”来执行此操作。 - apoiat
好的,这里是另一种我刚试过并且非常有效的方法。首先将glm文件夹放在您的项目源目录中(无论您实际存储当前项目文件的位置在哪里)。之后转到(菜单)项目->显示所有文件。然后在右侧,您将看到带有“幽灵”文件的解决方案。您的项目目录中的所有内容。然后您只需右键单击该glm文件夹并单击“包含在项目中”。然后您就完成了。然后只需像#include“glm.hpp”或#include“glm/glm.hpp”一样包含您的glm.hpp,它们应该都可以工作。 - apoiat
非常感谢您的回答!我尝试了您说的方法,但是出现了很多错误。最终我解决了这个问题并将其发布为答案。 - DontCareBear
你可能需要删除dummy.cpp文件。它包含一个main()函数。然后它应该可以正常构建。 - apoiat

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