5

まず最初に、私は崇高なテキスト エディターを初めて使用し、気に入っています。JSON の経験はありませんが、まったく難しくないようです。

作業中のディレクトリにメイクファイルを移動し、そのメイクファイルを呼び出す bash スクリプトを呼び出すビルド システムを作成しようとしています。このスクリプトは、avr-gcc を使用して C コードをコンパイルし、接続されているマイクロコントローラーにフラッシュします。 avrdude。

崇高なテキスト 2 は「cmd」オブジェクトを 1 つしか持てないことに気付いたので、端末エミュレーターから 1 行ですべてを呼び出してみたところ、意図したとおりに機能しました。呼び出しは次のとおりです。

checkAVRmakefile.sh $PWD; make PROJECTNAME+=hello install

私のスクリプトは私の $PATH 環境変数のディレクトリにあり、私が作業しているディレクトリを渡すので、そこでメイクファイルをチェックし、そこにない場合は、すべてを保持しているディレクトリからコピーします私のmakefileの。次に、make を呼び出して、呼び出されるプロジェクトに名前 I を渡します。インストールにより、avr マイクロコントローラーがフラッシュされます。

私が崇高なことをするのはこれです:

{
"shell":true,
"cmd":[ "checkAVRmakefile.sh", "$file_path", ";" ,"make","PROJECTNAME+=$file_base_name","install"],
}

これは、ディレクトリに makefile を置く bash スクリプトのみを実行しますが、make は実行しません。

誰かが私が間違った場所を見ていますか?

どんな助けでも大歓迎です。また、崇高なフォーラムでこれに似た質問をしましたが、誰も答えていません。また、私はUbuntuを使用しており、ST2を使用しています。

4

3 に答える 3

13

私の問題が何であるかを見つけました。これは、ディレクトリ名のスペースを処理しない bash スクリプトと、ビルド システムで shell:true オブジェクトを正しく使用していないことの組み合わせでした。したがって、現在機能するのは次のとおりです。

{
   "shell":true,
   "cmd":["check.sh $file_path && make PROJECTNAME+=$file_base_name install"]

}

shell:true オブジェクトを使用すると、cmd リストのすべての入力を引用符で囲む必要はなく、1 つの長い文字列だけで済みます。

(修正を提案してくれた reddit の u/Scoo_ に感謝します) これが誰かの助けになることを願っています

編集 (17-3-2014): AVR プロジェクトのビルドに使用するファイルを git ハブにアップロードしました: https://github.com/Jesse-Millwood/AVR-Stuffs.git

于 2013-10-13T14:23:13.727 に答える
1

そのため、さまざまな目的で必要なマシンにこの別の Python をインストールしました。そのフレーバーの Python を使用する前に、端末で .bat または .cmd を実行して環境変数をセットアップする必要があります。そうしないと、デフォルトの c:\Python27 python インストールから同じ名前の他のモジュールがインポートされるため、これを行う必要があります。私はインターネットを少し掘り下げました。これは、Ctrl + B(ビルド)を押したときにSublime Text 2から実行するために思いついたものです。

誰かがこれが役立つことを願っています。これは、他のフレーバーを使用して Sublime を実行するカスタム ビルドファイルです。[Tools] > [Build System] > [New Build System] を選択して Sublime で新しいビルドファイルを作成し、必要な mod とともに貼り付けます。

{
    "shell":true,
    "cmd": ["C:\\GIT\\Folder1\\Folder1\\thebatch.cmd", "&;",
        "python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "working_dir": "C:\\GIT\\GBmapper\\AWSInterfaces\\DEM_Processing"
}
于 2015-08-06T14:12:13.117 に答える