Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有“Make”的升华文本3构建系统不运行该程序 我试图在Linux上构建一个崇高的文本3的C++项目。通常我只是切换到终端,运行make-run,然后它运行。然而,我正试图通过直接在Sublime中运行来简化流程。但是,按Ctrl+Shift+B组合键只会显示两个选项:生成和清除。它们都将根据项目的Makefile执行命令。但是,没有Make-run,所以我不能通过按Ctrl+B直接运行项目。我希望有人能对此提供一些见解_C++_Makefile_Sublimetext3_Sublime Build - Fatal编程技术网

带有“Make”的升华文本3构建系统不运行该程序 我试图在Linux上构建一个崇高的文本3的C++项目。通常我只是切换到终端,运行make-run,然后它运行。然而,我正试图通过直接在Sublime中运行来简化流程。但是,按Ctrl+Shift+B组合键只会显示两个选项:生成和清除。它们都将根据项目的Makefile执行命令。但是,没有Make-run,所以我不能通过按Ctrl+B直接运行项目。我希望有人能对此提供一些见解

带有“Make”的升华文本3构建系统不运行该程序 我试图在Linux上构建一个崇高的文本3的C++项目。通常我只是切换到终端,运行make-run,然后它运行。然而,我正试图通过直接在Sublime中运行来简化流程。但是,按Ctrl+Shift+B组合键只会显示两个选项:生成和清除。它们都将根据项目的Makefile执行命令。但是,没有Make-run,所以我不能通过按Ctrl+B直接运行项目。我希望有人能对此提供一些见解,c++,makefile,sublimetext3,sublime-build,C++,Makefile,Sublimetext3,Sublime Build,这是我的Makefile: BINARY := build/project SRCS := $(shell find . -iname "*.cpp") OBJS := $(addprefix build/,$(SRCS:.cpp=.o)) NEEDED_LIBS := CXX := g++ -flto LD := $(CXX) $(addprefix libs/,$(NEEDED_LIBS)) override CXXFLAGS += -std=c++11 overr

这是我的Makefile:

BINARY := build/project
SRCS := $(shell find . -iname "*.cpp")
OBJS := $(addprefix build/,$(SRCS:.cpp=.o))

NEEDED_LIBS := 

CXX := g++ -flto
LD := $(CXX) $(addprefix libs/,$(NEEDED_LIBS))
override CXXFLAGS += -std=c++11
override LDFLAGS += $(CXXFLAGS)

all:$(BINARY)

$(BINARY):$(OBJS) $(addprefix libs/,$(NEEDED_LIBS))
    $(LD) $(LDFLAGS) -o $@ $^

build/%.o:%.cpp
    $(CXX) -O2 -c $(CXXFLAGS) $< -o $@

run:$(BINARY)
    @$(BINARY)
    
clean:
    rm -rf build/*

此版本的默认版本为Makefile/Make.sublime-build,如下所示:

{ shell_cmd:make, 文件_regex:^..[^:\n]*:[0-9]+:?[0-9]+?:?*$, 工作目录:${文件夹:${项目路径:${文件路径}}, 选择器:source.makefile, 语法:Packages/Makefile/makeoutput.sublime-syntax, keyfiles:[Makefile,Makefile], 变体: [ { 姓名:Clean,, shell_cmd:使清洁 } ] } 也就是说,默认情况下,它只运行Make,但它还有一个名为Clean的变量,该变量也将运行Make Clean。特别是,这指出命令列表是静态的,不依赖于所讨论的Makefile的实际内容

您可以从菜单中选择工具>构建系统>新建构建系统,这将创建一个新选项卡并提供默认构建系统。选择所有内容,然后将其替换为上述内容的副本,这样您就有了基本构建系统的副本。然后,您可以根据需要添加其他变体。例如:

变体: [ { 姓名:Clean,, shell_cmd:使清洁 }, { 姓名:Run,, shell\u cmd:make run } ] 完成后,将文件保存在位置Sublime默认为用户包,并使用自定义名称,如custom Makefile.Sublime-build等。位置和扩展名是重要的部分

完成此操作后,您将在“工具”>“生成系统”下的菜单中看到生成系统,其名称为您保存文件的名称。您可以在那里选择要使用的构建,也可以将其设置为自动

下一步使用ctrl+shift+b时,此生成系统中的选项将显示在列表中。如果将生成设置为“自动”,您还将看到默认选项