gpt4 book ai didi

C++:使用带尖括号的#include <>放置文件的位置

转载 作者:行者123 更新时间:2023-11-28 05:39:27 27 4
gpt4 key购买 nike

上下文:

我正在尝试运行 Jarno Elonen 在 http://elonen.iki.fi/code/tpsdemo/ 提供的薄板样条代码.它需要安装 OpenGL + GLUT 和 Boost uBlas 库。我已经下载了代码,但是我一直无法运行它,因为编译器找不到 GLUT 和 Boost 文件。

我希望有人能让网站上的代码运行(而不仅仅是解决我面临的直接问题),并告诉我运行它要遵循的确切步骤。 (我不介意你把它完全简化,我是初学者 :) )

到目前为止我做了什么:

  • 从上面的网站下载并解压tpsdemo-1.2.tar.gz
  • 从 freeglut.sourceforge.net/index.php#download 下载 FreeGLUT(因为各种在线论坛告诉我我应该这样做,因为 GLUT 本身已经过时了...):Freeglut 3.0.0。
  • 从 www.boost.org/users/history/version_1_61_0.html 下载 Boost:boost_1_61_0.zip。

我不知道从这里开始做什么...我应该把这些文件放在哪里,以便 tpsdemo-1.2 的代码可以访问它们?我试过将它放在同一个目录中,但这似乎需要使用 #include "filename"用引号代替 #include <filename>带有尖括号,在提供的代码中。如果我真的像这样改变它,那么似乎我将不得不改变 GLUT 和 Boost(目前使用尖括号)中的所有 include 语句,这不是一项小任务。 (我真的不想修改太多代码......)正确的方法是什么?我试过使用 -Idir编译时标记,但这会遇到其他问题,虽然我不知道这个问题是否与 GLUT/Boost 有关(这就是为什么我想看看是否有其他人可以让代码运行!)

最佳答案

#include 中的楔形括号用于表示存在于系统或框架级别的文件。因此,您永远不会通过将它们移动到“正确”位置来将它们放在那里,而是指定哪些目录被视为“系统”或“框架”级别。最终的确切方法取决于所使用的编译器,但所有主要编译器都理解 -I${PATH_TO_INCLUDE_DIRECTORY 命令行选项符号。 -I ... 可以指定多次来指定多个目录。

对于作为项目第 3 方的 header 和/或构成项目框架的 header ,专门使用楔形括号包含是一种很好的样式。对于属于项目本身模块的 header ,应使用引号。

关于C++:使用带尖括号的#include <>放置文件的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37474771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com