【问题标题】:how to setup the GLM library in visual studio 2012如何在 Visual Studio 2012 中设置 GLM 库
【发布时间】:2013-07-28 06:58:40
【问题描述】:

如何在 Visual Studio 2012 中设置 GLM Library

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

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

然后当我尝试在我的代码中使用包含 #include <glm/glm.hpp> 时,出现以下错误:

致命错误 C1083:无法打开包含文件:'glm/glm.hpp':没有这样的文件或目录

如何正确设置 GLM 库以在我的代码中工作?

【问题讨论】:

  • 我从未将任何库添加到我的 Visual Studio 安装目录中。我将库添加到我的项目的位置(我在其中创建项目的目录)

标签: visual-studio settings glm-math


【解决方案1】:

我成功地解决了这个问题。要将 GLM 库添加到包含路径,我执行了以下步骤:

  1. 将glm代码目录解压到我的项目目录下(从网上下载的archaive中的目录名称是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. 在 Additional Include Directories 的编辑框中添加 C:\projects\myProject\glm-0.9.4.4

如果您不想为 glm 库(或您希望在项目中包含的任何其他库)使用完整路径,另一种选择是使用路径 .\glm-0.9.4.4 而不是完整路径(此仅当您将 glm 库解压缩到项目目录时才有效!)

【讨论】:

  • 您不应包含所有这些文件。您只需要将 glm 文件夹包含在 glm-0.9.4.4 文件夹中。其他一切都与使用 glm 无关。
【解决方案2】:

GLM 是一个仅包含标头的库,因此只需将其很好地包含到您的项目中即可。

  1. 您是否确实将 GLM 文件夹放在了包含路径中?文件夹“glm-0.9.4.4”与“glm”不同。基本上确保您尝试包含的路径实际上是对齐的。

  2. 如果您在本地(项目)目录中包含某些内容,请使用引号而不是尖括号来包含某些内容。 #include "glm/glm.hpp"。但是,如果您告诉 VC 查看放置 GLM 的目录,括号应该可以工作。通常,括号在您的包含路径中查找,引号在您的本地路径中查找。请参阅this question 以获得更好的解释。

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

您是否尝试过自己窥探?搜索 stdio.h 所在的位置或名为“include”的文件夹的位置。

【讨论】:

    【解决方案3】:

    您也可以将整个 glm 文件夹导入到您的项目中,然后使用引号包含 glm.hpp 文件。过去它与我一起工作,而不必担心标题包含目录等。

    【讨论】:

    • 通过导入实际上是指在你的 VS 项目中添加文件
    • 我正在使用 Visual Studio 2012 Express,我通过右键单击我的解决方案 Add->Existing Items 来做到这一点
    • 好的,这是我刚刚尝试过的另一种方法,效果很好。首先将 glm 文件夹放在项目源目录中(实际存储当前项目文件的位置)。之后转到(菜单)项目-> 显示所有文件。然后在您的右侧,您将看到带有“幽灵”文件的解决方案。项目目录中的所有内容。然后,您只需右键单击该 glm 文件夹,然后单击包含在项目中。你完成了。然后只需包含您的 glm.hpp,例如 #include "glm.hpp" 或 #include "glm/glm.hpp" 他们都应该工作
    • 非常感谢您的回答!我试过你说的,我有很多错误。最后我解决了这个问题并将其发布为答案。
    • 您可能需要删除 dummy.cpp。它包括一个 main() 函数。然后它应该构建得很好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    相关资源
    最近更新 更多