<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
讯享网
讯享网
我们在系统中查看 boost 在我们的 D 盘下的 boost_1_85_0 目录下。注意这里只需要定位到哪一个路径包含 boost 目录即可,并不需要去管 version.hpp 何在,因为代码中已经说明了 version.hpp 就在 boost 下面。如果实际上不存在,那么代码不用编译都知道是错的。也就是说,我们应该通过下面这行命令来编译:
而不是
讯享网
如果你使用下面这行,你会发现 shell 提示你 “No such file or directory”。这是笔者自己犯的一个小错误。
我们很快便发现,要是 -I 后面跟着的路径名称太长咋办,那敲起来就太麻烦了。这时候不起眼的环境变量就派出用场了。
环境变量按照权限分为用户和系统,如果用户和系统都定义了一个变量,这两个变量名称相同。那么在 shell 中使用时,用户的会覆盖系统。如果二者之一定义了,那么便没有名称冲突,谁定义了用谁的。我们在用户模式中配置即可。
按照类型分可以分为普通的 和 “Path”。Path 是一个特殊的,我们先不管。我们可以自定义普通的环境变量,给它一个变量名,一个变量值(即路径)。这样做的好处就是我们可以在 shell 中使用环境变量来代替原来哪个很长很长的路径。
比如这里我们定义一个名为 “BOOST_ROOT” 的变量,值就是刚刚那个长的路径 “D:boost_1_85_0”。保存,重新打开终端。好了上述 gcc 指令可以改写为:
是不是打开了新世界。但是有一点注意,上述指令只能在传统的终端 cmd 中运行。这是因为在 Windows 中存在两个 shell 终端。
PowerShell 对 cmd 中的一些指令做了修改,比如上述中访问系统变量的值。如果在 PowerShell 下使用 gcc 指令,应该改为:
讯享网
最后我们说一下 Path 这个特殊的环境变量吧。这里 Path 是一个 可执行文件(在 Windows 下也就是 .exe) 的路径集合。这些 .exe 文件和我们双击就能用的文件比如 .exe 不一样,需要在执行前传入一些指令的参数。我们姑且称这类为开发工具软件。最熟悉的莫过于你学习 c 语言时安装的开发工具(这里以 MinGW 举例吧)。在不借助 IDE 的帮助下,你想要编译 .cpp 文件,你需要将终端定位到 MinGW 安装目录下的 bin 文件夹(bin 文件夹里面存放的是二进制可执行文件,这是一种目录命名规范)中吧,然后才可以在 shell 上输入 来编译。这是因为系统并不知道 gcc.exe 所在的位置,你必须手动指定。这样一来是不是很麻烦,于是 Path 告诉你,你直接在这里写入你想要的可执行文件路径,之后你在 shell 中执行指令时,我先在 shell 中指示的当前路径下查找,如果找不到我就去 Path 中查找。这就是 Path 变量的用途!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/176088.html