6

Sublime Text 2 エディターを使用している、または使用していた方も多いと思います。奇妙なエラーがあります: C++ プログラムをビルドできません。

私の C++.sublime-build

{
    "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
    "working_dir": "${file_path}",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector": "source.c, source.c++",

    "variants":
    [
        {
            "name": "Run",
            "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
        }
    ]
}

配列にorのcmdような置換式が含まれていると、ビルドが開始されないことがわかりました。それ以外の場合は開始します。${file}$file

コンパイラからは関係ありません。試してみたところ"cmd": ["notify-osd", "$file"]、うまくいきませんでした。しかし、"cmd": ["notify-osd", "sometexthere"]それでうまくいきました。

手でコンパイルすると正しく動作します。

私のプログラム:

#include <iostream>

int main() {
    std::cout << "Hello World";
}

Ubuntu 12.04、32ビットを使用しています。Sublime Editor のバージョン: 2.0.1。

この質問をする場所ではない場合は、正しい質問を教えてください。

4

3 に答える 3

7

C++。sublime-buildファイルを編集します....チャームのように機能します。

{
    "cmd": ["g++", "-Wall", "-Wextra", "-pedantic", "-std=c++11",   "${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",
            "cmd": ["bash", "-c", "g++ -Wall -Wextra -pedantic -std=c++11 '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
        }
    ]
}
于 2012-10-03T07:59:20.037 に答える
1

この問題の回避策を提供できます。makefile を使用します。Sublime Text 2 は、makefile を実行して C++ をコンパイルできます。

Sublime フォーラム (http://www.sublimetext.com/forum/) で質問すると、この質問に対するより良い回答が得られる可能性が高くなります。そこでさえ、彼らはおそらくそれが「どのように」機能しないかを知りたいと思うでしょう (つまり、「ビルド」を押しても何も起こらない場合は、それを指定したいかもしれません)。

于 2012-07-20T09:50:12.083 に答える
0

C++ コンパイルが Sublime Text で動作するようになるまでに数時間かかりましたが、まだいくつかの小さな問題があります (Sublime Text が明らかに外部ウィンドウ/コンソールでプログラムを実行できないなど)。

これが私の設定ファイルです:

{
"cmd": ["C:\\MinGW\\bin\\mingw32-g++.exe", "-Wall", "-time", "$file", "-o", "$file_base_name"],

"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",

"working_dir": "${project_path:${folder}}",

"selector": "source.c",

"shell": true,

"encoding": "latin1"

}

(コンパイラが動作しない場合は、エンコーディングを utf8 に変更してください)

また、MinGW の bin フォルダーを OS の Path 変数に追加します (スタート メニューで「環境変数」を検索し、次に Path 変数を検索します)。

于 2012-07-25T21:49:02.767 に答える