确认. Sublime -build在Windows上查找的位置(Sublime Text 3, c++)

Confirm location that .sublime-build is looking at (Sublime Text 3, C++) on Windows

本文关键字:Sublime Text c++ 位置 -build Windows 查找 确认      更新时间:2023-10-16

我在Sublime Text 3 (ST3)中有一个自定义的.sublime-build文件,其中包括我希望它搜索c++头文件的文件夹:

{
"cmd": ["g++", "$file_name", "-o", "${file_base_name}.exe", "-I C:/package/armadillo74002/include", "-L C:/package/armadillo74002/examples/lib_win64", "-lblas_win64_MT", "-llapack_win64_MT", "&&", "start", "cmd", "/c" , "$file_base_name"],
"selector": "source.c",
"working_dir": "${file_path}",
"shell": true
}

但是,当我运行脚本时:

#include <armadillo>

我得到以下错误:

headerex.cpp:2:21: fatal error: armadillo: No such file or directory

但是我可以检查我的电脑,看到文件存在于那个目录中。为什么会出现这个错误?我能做些什么改变,使它能找到我正在寻找的头文件?

我不熟悉所有的术语,因为我用C/c++编码的经验有些有限,但我的理解是有两种类型的#include。第一种类型的头文件名用尖括号< > (#include <stdio.h>#include <string.h>等)括起来,这意味着您要包括标准库中的头文件。

第二种类型,其中包含的文件被双引号" " (#include "Python.h", #include "myheader.h"等)包围,用于包含任何其他头文件,其位置在Makefile或命令行中使用-I选项指定(至少对于gcc)。子目录也可以显示——例如,如果你传递了-I/usr/local/include/mylib/include选项,那么如果原始目录中有子目录,你的include语句可能是#include "x86_64/myheader.h"

查看#include 和#include "文件名"?为了更好的解释。

由于armadillo听起来不像是标准库的一部分,并且您在命令行上传递它的位置,因此将尖括号替换为双引号可能是一个好主意,看看这是否奏效。