【问题标题】:How do I get #include "std_lib_facilities.h" to function in ST3 (OSX)?如何让#include "std_lib_facilities.h" 在 ST3 (OSX) 中运行?
【发布时间】:2017-07-20 03:10:31
【问题描述】:

我有这个网页:

http://www.stroustrup.com/Programming/PPP2code/std_lib_facilities.h

我正在完成Stroustrup 的一本书,并想做我需要做的事情,以便我可以开始我的程序,

#include "std_lib_facilities.h"

而不是,

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;

我需要做什么?

【问题讨论】:

  • 右键单击您刚刚提供的链接,选择“将链接另存为”,然后将文件保存到源代码所在的同一目录中。
  • 我正在将我的源代码保存到我桌面上的一个文件夹中。我尝试将 .h 文件添加到该文件夹​​,修改源代码以使用 #include "std_lib..." 而不是命名空间,然后运行它,但我收到“std_... "。
  • 你真的应该避免using namespace std - 这是一个坏习惯,当你不期待它时can silently change the meaning of your program。习惯于使用命名空间前缀(std 故意很短),或将只是您需要的名称 导入到最小合理范围

标签: c++ macos sublimetext3 sublimetext header-files


【解决方案1】:

头文件必须在源代码文件所在的同一目录中。 这是https://www.stroustrup.com/programming_support.html的解释

请注意,不同的编译系统和程序员社区对于头文件的放置位置有不同的约定。本书假定头文件与 .cpp 文件位于同一目录/文件夹中,并使用“plain”#include“std_lib_facilities.h”。如果这不起作用,请尝试 #include "../std_lib_facilities.h"(上一级)和 #include "../../std_lib_facilities.h"(上两级)。

【讨论】:

  • 注意链接是403
  • @Mike'Pomax'Kamermans 请注意,答案是在2019年提供的,并引用了相关信息。该链接当时有效,并在第 53 页的书中提到。
  • 我知道。但是,根据 SO 的做法是保持与未来访问者相关的答案,如果没有替代链接,最好将其删除,因为它现在已被锁定,或者如果有一个链接,则将其更新为仍在工作的链接。 (看起来您已将其更新为:太好了,代表未来的访问者,谢谢)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-09
  • 1970-01-01
  • 1970-01-01
  • 2011-01-07
相关资源
最近更新 更多