我刚刚从Python切换到C ++以实现数据结构和算法。我发现Sublime Text 3非常强大。我安装了它,将我的Mingw-64编译器添加到路径中并添加了“构建系统”。我希望构建和运行任何基本的C ++程序都足够了。但是当我跑步时
#include <iostream>
using namespace std;
int main() {
int n;
cin>>n;
cout<<n<<endl;
return 0;
}
我知道,构建部分或编译器设置中存在一些问题。我尝试了不同的编译器,从代码块到独立的Mingw-64编译器,没有任何成功。在过去,我使用过代码块,它从来没有要求我创建一个exe文件或引用它。如果我重新启动程序,它将显示权限被拒绝错误,我知道它为什么会发生。
这是错误:
系统找不到文件G:\ Programming \ C ++ \ second.exe。 [在15.0s完成,退出代码为1]
[shell_cmd:g ++“G:\ Programming \ C ++ \ second.cpp”-o “G:\ Programming \ C ++ / second”&amp;&amp; “G:\ Programming \ C ++ / second”] [dir: G:\ Programming \ C ++] [路径:C:\ Program Files(x86)\ NVIDIA Corporation \ PhysX \ Common; C:\ ProgramData \ Oracle \ Java \ javapath; C:\ WINDOWS \ system32; C:\ WINDOWS; C :\ Windows \ System32下\ WBEM; C:\ Windows \ System32下\ WindowsPowerShell \ V1.0 \; C:\程序 文件(x86)\ ATI Technologies \ ATI.ACE \ Core-Static; C:\ Program Files \ Intel \ WiFi \ bin \; C:\ Program Files \ Common Files \ Intel \ WirelessCommon \; C:\ Program Files(x86)\ Windows Live \ Shared; C:\ Program Files \ MATLAB \ MATLAB Production Server \ R2015a \ runtime \ win64; C:\ Program Files \ MATLAB \ MATLAB Production Server \ R2015a \ bin; C:\ Program Files \ MATLAB \ MATLAB Production 服务器\ R2015a \ polyspace \ BIN; C:\ Python27 \; C:\ Python27 \ LIB \站点包\ PyQt4的; C:\ PROGRAM Files \ Git \ cmd; C:\ Program Files (86)\的mingw-W64 \ i686-7.1.0-POSIX的矮rt_v5-REV0 \的mingw32 \ BIN; C:\用户\ 80LM0141IH \ Anaconda3; C:\用户\ 80LM0141IH \ Anaconda3 \库\的mingw-W64 \仓; C:\用户\ 80LM0141IH \ Anaconda3 \库的\ usr \ BIN; C:\用户\ 80LM0141IH \ Anaconda3 \库\ BIN; C:\用户\ 80LM0141IH \ Anaconda3 \脚本; C:\用户\ 80LM0141IH \应用程序数据\当地\程序\ Python的\ Python36 \脚本\; C:\用户\ 80LM0141IH \应用程序数据\本地\程序\ Python的\ Python36 \; C:\用户\ 80LM0141IH \应用程序数据\本地\微软\ WindowsApps; G:\微软 VS 代码\ BIN; C:\用户\ 80LM0141IH \应用程序数据\本地\ GitHubDesktop \ BIN; C:\用户\ 80LM0141IH \应用程序数据\本地\微软\ WindowsApps;“C:\ PROGRAM 文件(x86)\ Graphviz2.38 \ bin“; C:\ Program Files (86)\ Graphviz2.34 \ BIN;]
答案 0 :(得分:5)
在开始之前,您需要确保已安装C ++编译器并正确配置其路径。确保您可以在命令行中调用g++
命令。
我从您的代码中看到您需要来自标准输入的输入。 Sublime Text的控制台无法接受输入。所以这可能就是问题所在。您需要在终端中运行该程序
尝试使用以下设置替换您的构建系统:
{
"shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c++, source.cpp, source.cc, source.cxx",
"variants":
[
{
"name": "Run in Terminal",
"linux": {
"shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && xterm -e '${file_path}/${file_base_name} && echo && echo Press ENTER to continue && read line && exit'",
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && gnome-terminal -e 'bash -c \"${file_path}/${file_base_name}&& echo && echo Press ENTER to continue && read line && exit\"'", // for gnome-terminal
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && xterm -e '${file_path}/${file_base_name}; bash'", // for xterm
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && xterm -hold -e ${file_path}/${file_base_name}", // for xterm
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && konsole --hold -e ${file_path}/./${file_base_name}", // for konsole
},
"windows":{
"shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && start cmd /k $file_base_name "
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && start \"$file_base_name\" call $file_base_name"
},
"osx":{
"shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && xterm -e '${file_path}/${file_base_name} && echo && echo Press ENTER to continue && read line && exit'",
},
"shell": true,
},
]
}
按Ctrl + Shift + B
并选择C++ - Run in Terminal
。它将在您的cmd中编译并运行该程序。
我可以在我的环境中正确运行您的代码段。如果您遇到任何问题,请告诉我。