如何告诉Sublime Text在C ++中包含外部头文件

时间:2014-08-26 14:36:59

标签: c++ sublimetext

要在Sublime Text 2中编译并运行.cpp文件,我按下命令+ shift + B.但我不知道如何告诉Sublime Text链接外部.h文件。当我把#include“genlib.h”并编译时,我收到此错误。

/Users/ckaj/Desktop/main.cpp:1:10: fatal error: 'genlib.h' file not found
#include "genlib.h"
          ^
1 error generated.
[Finished in 0.2s with exit code 1]
[shell_cmd: g++ "/Users/ckaj/Desktop/main.cpp" -o "/Users/ckaj/Desktop/main"]
[dir: /Users/ckaj/Desktop/]
[path: /usr/bin:/bin:/usr/sbin:/sbin]

所以,我尝试将'genlib.h'文件放在同一目录中以查看它是如何工作的。我得到一个不同的错误如下。

In file included from /Users/ckaj/Desktop/main.cpp:1:
 /Users/ckaj/Desktop/genlib.h:225:1: error: expected unqualified-id
 <U+001A>
^
 1 error generated.
[Finished in 0.2s with exit code 1]
[shell_cmd: g++ "/Users/ckaj/Desktop/main.cpp" -o "/Users/ckaj/Desktop/main"]
[dir: /Users/ckaj/Desktop/]
[path: /usr/bin:/bin:/usr/sbin:/sbin]

我一直在寻找几个小时的答案,但无济于事。我要感谢任何试图帮助我修复Sublime Text 2的人。

2 个答案:

答案 0 :(得分:1)

感谢大家的帮助。我终于阅读了构建文档。如果您了解如何在命令行上使用g ++进行编译,这似乎很简单。这是答案。

{
    "cmd": ["g++ -Wall ${file} -o ./bin/${file_base_name} -I${file_path}/lib && ./bin/${file_base_name}"],
    "selector": "source.c++",
    "working_dir": "${file_path}",
    "shell": true,


    "variants": [
        {
            "name": "Run",
            "cmd": ["g++ -Wall ${file} -o ./bin/${file_base_name} -I${file_path}/lib && open ./bin/${file_base_name}"],
            "working_dir": "${file_path}",
            "shell": true

        }
     ]

}

答案 1 :(得分:0)

按照@ Mick的想法,这对我有用(崇高的文字3,ubuntu 15.10):

{
    "cmd": ["g++ -std=c++0x ${file_path}/*.cpp -o tmp && ./tmp"],  
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",
    "shell": true
}