【发布时间】:2016-06-22 16:09:32
【问题描述】:
如您所知,您可以在 Sublime 中构建文件:
1) 通过 Ctrl+Shift+B (Build With) -> C++ Single File
2) 通过 Ctrl+Shift+B (Build With) -> C++ Single File - Run
通过第一个选项我没有问题:文件编译,Sublime 确认,我没有遇到任何问题。
如果我采用第二种方式,Sublime 将无法停止构建过程。单击构建后,立即在任务管理器上创建了一个进程 '(file_name).exe(32 bit)',但是 .exe 程序永远不会从 Sublime 自动运行(我必须自己运行它) ,并且 Sublime 从不确认构建。
我该如何解决这个问题?
这里是 sublime-build 文件:
{
"shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""
}
]
}
【问题讨论】:
-
请edit您的问题并提供您的
.sublime-build文件的内容。 -
@MattDMo 刚刚做到了。
-
我假设您运行了构建系统的“运行”变体?如果你的程序没有正常退出,Sublime 仍然认为它正在运行。 Windows 是否仍然认为它正在运行 - 即,它是否显示在任务管理器中,或者通过从 Cygwin/bash shell 运行
ps -ax | grep programname.exe,假设您安装了它。如果是这样,请尝试通过任务管理器(您可能需要以管理员权限运行它)或通过更早从ps命令获取 PID(进程 ID)并运行kill -9 123456或任何 PID 来杀死所有实例. -
@MattDMo 感谢您指出“运行”变体。做了一点检查,发现与正常变体的行为有所不同。我现在从头开始重新提出这个问题。
标签: c++ build sublimetext3 sublime-build