繁体   English   中英

C ++:使用#include <>和尖括号在哪里放置文件

[英]C++: Where to place files using #include <> with angle brackets

内容:

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

我希望有人可以在网站上运行代码(而不仅仅是解决我现在面临的直接麻烦),并告诉我要使其运行的确切步骤。 (我不介意您是否完全傻了,我是一个初学者:))

到目前为止,我所做的是:

  • 从上面的网站下载并解压缩了tpsdemo-1.2.tar.gz
  • 已下载FreeGLUT(因为各种在线论坛都告诉我我应该这样做,因为GLUT本身已经过时了……):Freeglut 3.0.0 from freeglut.sourceforge.net/index.php#download。
  • 从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…可以多次指定以指定多个目录。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM