无法在Sublime Text 3中构建简单的程序

时间:2018-05-26 05:09:44

标签: c++ sublimetext3

我刚刚从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;]

1 个答案:

答案 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中编译并运行该程序。 enter image description here

我可以在我的环境中正确运行您的代码段。如果您遇到任何问题,请告诉我。

enter image description here